Git thinks of its data more like a set of snapshots of a mini filesystem.
24b9da6552252987aa493b52f8696cd6d3b00373
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
$ git config --global core.editor vim
$ git config --global color.ui true
$ git init
$ git rm --cached file.py
Git tracks content, not files. Although there is a move command...
$ git mv file1 file2
...this is the same as...
$ mv file1 file2
$ git rm file1
$ git add file2
$ cat .gitignore
*.pyc
*.swp
/build/
/doc/[abc]*.txt
.pypirc
*.egg-info
• Blank lines or lines starting with # are ignored
• Standard glob patterns work
• End pattern with slash (/) to specify a directory
• Negate pattern with exclamation point (!)
$ git remote -v
origin git://github.com/schacon/ticgit.git (fetch)
origin git://github.com/schacon/ticgit.git (push)
$ git pull [<remote> <rbranch>]
$ git pull --rebase [<remote> <rbranch>]
-> Rebasing can be dangerous!
$ git branch iss53
$ git checkout -b iss53 master
$ git checkout iss53
$ git branch -d iss53
$ git branch
iss53
* master
testing
$ git branch -v
iss53 93b412c fix javascript issue
* master 7a98805 Merge branch 'iss53'
testing 782fd34 add scott to the author list in the readmes
$ git branch --merged
iss53
* master
$ git branch --no-merged
testing