Git Keyboard Shortcuts
Git keyboard shortcut reference covering 32 bindings for Windows, Mac & Linux. Commonly searched bindings include Status, Stage All, and Commit. 32 of 32 shortcuts are verified against official Git documentation, each with a linked source when available. Search by action name, filter by category, look up what a key combination does, print a cheat sheet, or practice with flashcards.
Git
| Action | Description | Windows | Mac | Verified | Source |
|---|---|---|---|---|---|
| Status | Show working tree status | git+status |
git+status |
Yes | Source |
| Stage All | Stage all changes | git+add+. |
git+add+. |
Yes | Source |
| Commit | Commit staged changes | git+commit+-m+"message" |
git+commit+-m+"message" |
Yes | Source |
| Push | Push commits to remote | git+push |
git+push |
Yes | Source |
| Pull | Fetch and merge remote | git+pull |
git+pull |
Yes | Source |
| Clone | Clone a repository | git+clone+<url> |
git+clone+<url> |
Yes | Source |
| Branch List | List branches | git+branch |
git+branch |
Yes | Source |
| Create Branch | Create and switch branch | git+checkout+-b+<name> |
git+checkout+-b+<name> |
Yes | Source |
| Merge | Merge branch into current | git+merge+<branch> |
git+merge+<branch> |
Yes | Source |
| Stash | Stash changes | git+stash |
git+stash |
Yes | Source |
| Stash Pop | Apply stashed changes | git+stash+pop |
git+stash+pop |
Yes | Source |
| Log Oneline | Compact commit history | git+log+--oneline |
git+log+--oneline |
Yes | Source |
| Diff | Show unstaged changes | git+diff |
git+diff |
Yes | Source |
| Unstage | Unstage files | git+reset+HEAD |
git+reset+HEAD |
Yes | Source |
| Revert | Revert a commit | git+revert+<commit> |
git+revert+<commit> |
Yes | Source |
| Fetch | Download remote changes | git+fetch |
git+fetch |
Yes | Source |
| Rebase | Rebase current branch | git+rebase+<branch> |
git+rebase+<branch> |
Yes | Source |
| Cherry-pick | Apply specific commit | git+cherry-pick+<commit> |
git+cherry-pick+<commit> |
Yes | Source |
| Switch Branch | Switch to branch | git+checkout+<branch> |
git+checkout+<branch> |
Yes | Source |
| Remote List | List remotes | git+remote+-v |
git+remote+-v |
Yes | Source |
| Add Remote | Add remote repository | git+remote+add+origin+<url> |
git+remote+add+origin+<url> |
Yes | Source |
| Show | Show commit details | git+show+<commit> |
git+show+<commit> |
Yes | Source |
| Blame | Show line-by-line authorship | git+blame+<file> |
git+blame+<file> |
Yes | Source |
| Tag | Create a tag | git+tag+<name> |
git+tag+<name> |
Yes | Source |
| Init | Initialize repository | git+init |
git+init |
Yes | Source |
| Reset Soft | Reset keeping changes | git+reset+--soft+HEAD~1 |
git+reset+--soft+HEAD~1 |
Yes | Source |
| Reset Hard | Discard all changes | git+reset+--hard |
git+reset+--hard |
Yes | Source |
| Clean | Remove untracked files | git+clean+-fd |
git+clean+-fd |
Yes | Source |
| Diff Staged | Show staged changes | git+diff+--staged |
git+diff+--staged |
Yes | Source |
| Short Status | Compact status | git+status+-s |
git+status+-s |
Yes | Source |
| Log Graph | Visual commit graph | git+log+--oneline+--graph |
git+log+--oneline+--graph |
Yes | Source |
| Amend | Amend last commit | git+commit+--amend |
git+commit+--amend |
Yes | Source |