This blog post is a personal reference in that I wanted to document the Git commands I use the most now that I use the command line more and more. I am publishing it as a blog post so that I can refer back to it quickly and easily. It is not a complete guide and is likely to be updated regularly.
List the local and remote branches:
git branch -a
Create the specified branch and check it out:
git checkout -b <new-branch>
Check out the specified branch:
git checkout <branch>
Check out a remote branch.
git checkout -b <branch> origin/<branch>
Delete the specified branch but only if all changes have been merged:
git branch -d <branch>
Force delete the specified branch:
git branch -D <branch>
Delete the specified remote branch but only if all changes have been merged:
git push origin -d <branch>
Rename the current branch to
git branch -m <branch>
Remove local branches that have been tracking remote branches that have been deleted:
git fetch --prune or
git remote prune origin
Reviewing & Changing History
Show the details (including the diff) of the last commit:
git show --source
Edit the last commit message. Files can also be added via
git add <filename> or removed via
git rm <filename> before running this command.
git commit --amend
If the commit has been pushed then the
--force parameter will be needed:
git push --force (note that this is more dangerous with repositories which others may be using).