Branches
git branch | List all local branches |
git branch -a | List remote and local branches |
git checkout -b branch_name | Create a local branch and switch to it |
git checkout branch_name | Switch to an existing branch |
git push origin branch_name | Push branch to remote |
git branch -m new_name | Rename current branch |
git branch -d branch_name | Delete a local branch |
git push origin :branch_name | Delete a remote branch |
Logs
git log --oneline | Show commit history in single lines |
git log -2 | Show commit history for last N commits |
git log -p -2 | Show commit history for last N commits with diff |
git diff | Show all local file changes in the working tree |
git diff myfile | Show changes made to a file |
git blame myfile | Show who changed what & when in a file |
git remote show origin | Show remote branches and their mapp |
Cleanup
git clean -f | Delete all untracked files |
git clean -df | Delete all untracked files and directories |
git checkout -- . | Undo local modifications to all files |
git reset HEAD myfile | Unstage a file |
Tags
git pull --tags | Get remote tags |
git checkout tag_name | Switch to an existing tag |
git tag | List all tags |
git tag -a tag_name -m "tag message" | Create a new tag |
git push --tags | Push all tags to remote repo |
Stashes
git stash save "stash name" && git stash | Save changes to a stash |
git stash list | List all stashes |
git stash pop | Apply a stash and delete it from stash list |