Spot an error? Know how to make this page better? I appreciate pull requests.
Git
Commands I always seem to forget
Push to multiple remotes with a single push.
git remote set-url --add --push <remote> <newurl>Delete branch from remote.
# version >= 1.7.0
git push <remote> --delete <branch>
# version < 1.7.0
git push <remote> :<branch>Add forgotten files to last commit.
git commit --amend -C HEADDecide last n commits should be on a different branch. Stackoverflow
git branch newbranch
# can also git reset --hard <hash>
git reset --hard HEAD~3 # Go back 3 commits. You *will* lose uncommitted work.
git checkout <newbranch>Rewrap text to textwidth: gq
Checkout file from specific commit
git checkout <COMMIT> -- <path to file>Update author on multiple commits
git rebase -i origin/main -x "git commit --amend --author 'Kyle Ondy <kyle@ondy.org>' -CHEAD"