Command Glossary
Setup
git init
Initialise repository
git config <option> <value>
e.g. git config --global user.email
Making Changes
git add <file/directory>
Stage changes (use .
to add everything)
git commit -m "<message>"
Commit staged changes
git reset <file>
Unstage changes
git restore <file>
Discard changes
git revert <commit>
Undo changes
Viewing State
git status
View tracked/untracked files
git reflog
List all local changes
git log
List repository history
git show
Show current commit
git diff <A> <B>
Show differences between A and B (A and B can either be commits or branches)
git diff --staged
Show changes made by staged files
Working with Branches
git branch
List branches
git checkout <branch>
Switch into a different branch
git checkout -b <branch>
Create and switch into a new branch
git branch -d <branch>
Delete branch
git merge <branch>
Applies the changes from <branch>
into the current branch
Working with Remotes
git clone <url>
Copy a remote repository
git fetch
Fetch changes from the remote
git pull
Pull updates from remote to local (default iis via merge, use --rebase
to specify rebase)
git push
Push changes to remote
Miscellaneous
git <command> -h
Show command usage
git <command> --help
Show detailed help page
git blame <file>
Show who last modified each line in a file
Last updated