Create  

Clone an existing repository

$ git clone ssh://userdomain.com/repo.git

Create a new local repository

$ git init

Local Changes  

View changed files in working directory

$ git status

Add all current changes to next commit

$ git add .

Add some changes to next commit

$ git add -p <file>

Commit previously staged changes with message

$ git commit -m 'message'

Commit history  

Show all commits, starting with newest

$ git log

Who changed what and when in a file

$ git blame <file>

Branches and tags  

List all existing branches

$ git branch -av

Switch HEAD branch

$ git checkout <branch>

Update and publish  

List all currently configured remotes

$ git remote -v

Download changes and merge into HEAD

$ git pull <remote> <branch>

Publish local changes on a remote

$ git push <remote> <branch>

Merge and rebase  

Merge branch into your current HEAD

$ git remote -v

Rebase your current HEAD onto branch (not for published commits)

$ git rebase <branch>

Undo  

Discard all local changes in working directory

$ git reset --hard HEAD

Discard local changes in a specific file

$ git checkout HEAD <file>

Revert a commit

$ git revert <commit>

Setting up profile

Using username

$ git config --global user.name \'YOUR_USERNAME\'

Using email

$ git config --global user.email YOUR_EMAIL_HERE

Checking you config settings

$ git config --list