A repo which is soley used for playing around and getting used to git.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A repo which is soley used for playing around and getting used to git. Please do not place any code you want preserved into this repository, as it may be occasionally wiped. Also note that this repo uses The Unlicense, meaning any code inside of it is public domain, so don't push your new game engine code to here.

Note: because you, by default, check out branch "master," we have used branch "default" to provide a base version of this repo which is untouched save for this README.

##Helpful Links## The Pro Git book, one of the bibles of Git

A nice intro to git, delivered as a blog post

An overview of git commands from Atlassian

Useful aliases for your .gitconfig

An automated .gitignore generator

P4Merge, a top-tier tool for merging files

KDiff3, one of the best open-source mergetools

General Tips & Tricks

  • Don't force push. Ever. --Matt Bucci
  • Write good commit messages. Messages like "did \*\*\*\*" or "broke it, fixed na0"
    might be cute to you now, but someone is going to want to murder you if they ever have to make
    a revision based off of 10 commit messages that say the same, noninformative thing. --Robert Wang
  • Instead of doing waiting a long time between commits and pushes, commit really often when you
    code. Then, before you push, use a rebase to make it look like one giant commit. (Do not do this
    to a public repo if you don't know what you're doing. People may hate you for a very long time). --Matt Bucci
  • If you don't like the default CLI interface, [SourceTree](http://www.sourcetreeapp.com/) is an
     excellent app that offers you the full power of git (and Mercurial!) in a nice graphical package.
  • If you're a masochist and prefer the command line, make sure to create
    [pretty log aliases](https://stackoverflow.com/questions/1057564/pretty-git-branch-graphs)
    to get a better idea of what's going on with your project's history and lineage.

##Suggested Activities##


  • If you're a true beginner, start by making a personal git repo and getting used to the flow of
     modify-stage-commit. Because git can be used to track anything, you can even use it to track things
     like essays! If you don't like where the essay ends up, just use `git checkout` to get back to the last
     version you liked and keep going. (This document was made using git as a version control)
     (IMPORTANT: If you do this, make sure you don't push your essay to a public repository before
     it's turned in! [Atlassian Bitbucket](https://bitbucket.org/) allows you to make a few private repos for free.
  • Once you have a feeling for simple things, do some bigger projects! Placing projects like the CSE 111
     (Databases) project into git serves two purposes: it lets you collaborate with people and it
     stops you from breaking your only working copy--you can always revert!


  • Once you have the basics of git down, start playing with more advanced commands like bisect,
     blame, and cherry-pick. Collaborate with other people and learn how to do three-way merges with
     tools like [P4Merge](http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools)
     or [KDiff3](http://kdiff3.sourceforge.net/).
  • If you like to learn by playing games, Gazler's [githug](https://github.com/Gazler/githug) may be
      your style.
  • Rebasing commits is a great way to save on logspace. Unfortunately, it can be a little tricky to get right
    in practice. Practice making three commits and squashing them into a single commit with `git rebase -i`


Unfortunately, we don't really have any advanced git users. If you get to this point, feel free to write this section of the post!