Clone an existing repository $ git clone ssh://[email protected] /repo.git
Create a new local repository $ git init
Changed files in your working directory $ git status
$ git diff
Add all current changes to the next commit $ git add .
Add some changes in  to the next commit $ git add -p <file>
Commit all local changes in tracked files $ git commit -a
Commit previously staged changes $ git commit
Don‘t amend published commits! 
$ git commit --amend
Show all commits, starting with newest $ git log
Show changes over time for a specific file $ git log -p <file>
Who changed what and when in  $ git blame <file>
List all existing branches $ git branch -av
$ git checkout <branch>
Create a new branch based  on your current HEAD $ git branch <new-branch>
Create a new tracking branch based on  a remote branch $ git checkout --track <remote/branch>
$ git branch -d <branch>
Mark the current commit with a tag $ git tag <tag-name>
List all currently configured remotes $ git remote -v
Show information about a remote $ git remote show <remote>
Add new remote repository, named  $ git remote add <shortname> <url>
Download all changes from , but don‘t integrate into HEAD $ git fetch <remote>
Download changes and directly  merge/integrate into HEAD $ git pull <remote> <branch>
Publish local changes on a remote $ git push <remote> <branch>
Delete a branch on the remote $ git branch -dr <remote/branch>
$ git push --tags
Merge  into your current HEAD $ git merge <branch>
Rebase your current HEAD onto  Don‘t rebase published commits! 
$ git rebase <branch>
$ git rebase --abort
Continue a rebase after resolving conflicts $ git rebase --continue
Use your configured merge tool to  solve conflicts $ git mergetool
Use your editor to manually solve conflicts and (after resolving) mark file as resolved $ git add <resolved-file>$ git rm <resolved-file>
If you want to remove the file only from the Git repository and not remove it from the filesystem $ git rm --cached <resolved-file>
Discard all local changes in your working  directory $ git reset --hard HEAD
Discard local changes in a specific file $ git checkout HEAD <file>
Revert a commit (by producing a new commit with contrary changes) $ git revert <commit>
Reset your HEAD pointer to a previous commit …and discard all changes since then $ git reset --hard <commit>
…and preserve all changes as unstaged changes $ git reset <commit>
…and preserve uncommitted local changes $ git reset --keep <commit>
Remove all untracked files and directories. (-f is force, -d is remove directories) $ git clean -fd
Get help on the command line $ git help <command>