often.cloud
source
← all tools

Git cheat sheet

Web

Searchable reference for everyday git commands.

Setup

git config --global user.name "…"Set committer name
git config --global user.email "…"Set committer email
git initInitialize a new repo
git clone <url>Clone a remote repo

Stage & commit

git statusShow working tree state
git add <path>Stage a file (or `.` for all)
git add -pStage selectively (hunk by hunk)
git commit -m "msg"Commit staged changes
git commit --amendAmend the last commit
git restore --staged <path>Unstage a file

Branch & switch

git branchList local branches
git branch -aList local + remote branches
git switch <branch>Switch to an existing branch
git switch -c <new>Create + switch to new branch
git branch -d <branch>Delete (safe)
git branch -D <branch>Delete (force)

Sync

git fetch --all --pruneUpdate remotes (no merge)
git pull --rebaseFetch + rebase local commits
git pushPush current branch
git push -u origin <branch>Push + set upstream
git push --force-with-leaseSafer force push

History

git log --oneline --graph --decorate --allCompact graph of all branches
git log -p <path>Show patches that touch path
git blame <path>Who changed each line
git show <ref>Show commit details
git diffUnstaged changes
git diff --cachedStaged changes

Undo

git restore <path>Discard unstaged changes
git reset HEAD~1Move HEAD back, keep changes
git reset --hard <ref>Move HEAD, drop changes (destructive)
git revert <ref>New commit that undoes <ref>
git clean -fdRemove untracked files + dirs

Stash & worktrees

git stash push -m "msg"Save WIP
git stash listShow stashes
git stash popRe-apply most recent
git worktree add ../path <branch>Add a separate working tree
git worktree listList worktrees