Git in one minute

Based on notes from a recent BarCamp, here’s my one-minute introduction to Git, a distributed revision control system (a system for managing collaborative changes to files, usually used for software development). This is probably only useful to someone who’s already a programmer and already trying to use git, as a kind of cheat-sheet.

git notes

Links:

Step 1: Create a directory with files in it. Done? Good. Let’s proceed. “cd” into the directory and…

$ git init <- initialise repo

$ git status <- tells you which files are / are-not in version control

$ git add … <- add files to repo, do it for each “meaningful change”

$ git commit <- commit new files to repo

$ git commit -am “Feature 1” <- commit all changed files to repo, -m “message” sets message without loading $EDITOR

$ git log <- shows recent changes

$ git config user.email “me@mydomain.com” –global <- configure email notifications

$ git branch feature1 <- create a “branch” for feature1. You should branch for each feature

$ git branch <- list branches. “*” indicates current branch

$ git checkout feature1 <- switch to branch “feature1”

$ gitk –all <- horrific-looking but useful GUI

</code>

$ git merge feature1 <- merge changes on feature1 into current branch(example assumes you're on a different branch)

If you get a merge conflict, it will look like this:

Auto-merged file1 CONFLICT (content): Merge conflict in file1 Automatic merge failed; fix conflicts and then commit the result.

Hope this helps someone else as much as it helped me…