- Update all Git repos in your current directory - `ls | xargs -I{} git -C {} pull` - Pull from remote overwriting local changes. - `git stash` (revert and stash changes locally) - `git pull` (pull from remote normally) - TIP: To retrieve changes, do `git stash apply` - Delete only untracked files from working tree - `git clean -f -d` - Unstage files from index (but keep the files locally) - `git rm --cached` - Undo a merge - `git checkout branch-name` - `git log --oneline` - `git revert -m commit-id` - Remove a file from remote - `git rm filename` (remove file from git) - `git commit -m "commit message"` - `git push` - Undo last "n" commits - `git reset --soft HEAD^n` - See diff between branches - `git diff branch_1..branch_2` - Remove a tag from branch - `git push origin :refs/tags/tagname` - `git tag -d` - Rename a branch locally and remote - `git checkout old-branch` - `git branch -m new-name` - `git push origin :old-name new-name` - Move existing, uncommitted work to a new branch - `git switch -c `