/git-fundamentals

A starting point for discovering the wonderful world of Git, GitHub, and Git Annex (Assistant)

BSD 2-Clause "Simplified" LicenseBSD-2-Clause

git-fundamentals

A starting point for discovering the wonderful world of Git, GitHub, and Git Annex (Assistant)

Concepts

Let's avoid this humorous, yet sad situation from PhD Comics.

  1. What is Git?
    • A version control system, collaboration tool, and general awesomesauce.
    • If you forget today, click "Help" at the top of any GitHub page
  2. What is GitHub?
    • It's a web app
    • There's also a desktop app
    • And even a mobile app!
  3. What is Git good at?
    • "Small" "text" files.
    • Synchronization
    • Collaboration
  4. Extra credit: What is Git Annex?
    • A companion to git for big files
    • We'll cover this in depth if there's time.

Getting the tools / Setup

  • Sign up for github, and verify your email.
  • Command line tools (you'll need this!):
    • GitHub recommends the official Git installer
    • I recommend homebrew for hackers on OS X
    • And it's easier to use your package manager (apt, yum, ...) for Unix, etc.
  • 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!

Awesome resources

Local Git expositors at UC Berkeley

Fancy GitHub features

Map diffs are amazing:

CSV diffs are strangely not as good, but (properly formatted) CSV is displayed nicely and is searchable:

Git Annex

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.