A little lookup for commands I use frequently
- Commit all edited files and add a message
git commit -a -m "My commit"
- Add all new files
git add .
- Perform a pull operation
git pull REMOTENAME BRANCHNAME
- Perform a push operation
git push REMOTENAME BRANCHNAME
- Prune all stale remote tracking branches
git remote prune REMOTENAME
- Create a branch
git branch BRANCHNAME
- View branches
git branch
- Checkout a different branch
git checkout BRANCHNAME
- Checkout a remote branch
git checkout -b LOCALBRANCHNAME origin/REMOTEBRANCHNAME
- Merge the changes made in another branch in to the current branch
git merge BRANCHNAME
- Delete a local branch
git branch -d BRANCHNAME
- Delete a remote branch
git push origin :BRANCHNAME
- Delete a remote branch (sexier syntax)
git push origin --delete BRANCHNAME
- Scrap uncommitted state and return the working tree to the last committed state
git reset --hard HEAD
- Delete the latest commit, and return to the one previous (one before HEAD)
git reset --hard HEAD~1
- Return a single file to it's last committed state
git checkout -- FILENAME
git checkout HEAD FILENAME
- Git log
git log
git log --pretty=oneline
git log --pretty=short
- Cherry pick commits and apply them to another branch (first grab the commit ID from the branch with said commit, then checkout the branch you wish to apply the commit to)
git cherry-pick COMMIT-ID
- Stash uncommitted changes
git stash save "message"
- Apply stashed changes somewhere
git stash apply
- Stop a file being tracked (but do not delete it from the working directory, add to .gitignore etc after this)
git rm --cached <file/folder>
- Restore a file to a previous commit
git checkout <commitID> <file/to/restore>
- Restore a file to one before a commit (say you know the commitID where something went wrong, and want one before that point)
git checkout <commitID>~1 <file/to/restore>
Thanks a lot