A starting point for discovering the wonderful world of Git, GitHub, and Git Annex (Assistant)
Getting the tools / Setup
- Sign up for github, and verify your email.
- Command line tools (you'll need this!):
- GUI tools
- Windows & Mac, also supports hg: SourceTree
- Lightweight Mac client: GitX-dev
- Lightweight GTK client: gitg (get it with your package manager).
- Integrated with file manager:
- Many others are available, and you can search for even more!
- Integration for your text editor!
- Basic commands cheat sheet(s) (Note the links to other cheat sheets!)
- Gamified git
- GitHub sponsors this.
- Where does "help" go from GitHub? Here.
- @davclark is an awesome resource, himself! (when he's not being a jerk)
- Linux commands cheat sheet (also mostly works for OS X command line).
- git - the simple guide
- The visual git guide
Local Git expositors at UC Berkeley
- A problem-focused exploration of git features is available in @jkitzes' Data Science Lessons
- An IPython notebook (of course!) from @fperez.
- Lots of exposition on git + other mostly python stuff and python scripts for a standardized git workflow from @matthew-brett.
- Tons of R code to access public APIs from @karthik and the @rOpenSci team.
Fancy GitHub features
Map diffs are amazing (you may have to click the "rich diff" button as opposed to the raw "<>" button):
CSV diffs are strangely not as good, but (properly formatted) CSV is displayed nicely and is searchable:
Read more here: http://git-annex.branchable.com/
Forking! What's that?
Forking on github is same as cloning in the command line.
Branching is also very important for collaboration
For branching, you should check the above link for now.