# Git Workflow Cheatsheet ## Quick Reference | Key | Action | |-----|--------| | `gd` | Open diff view | | `gD` | Close diff view | | `gf` | File history | | `gB` | Toggle blame | | `gpl` | List PRs | | `gpc` | Create PR | ## Viewing Changes ### Diffview ``` gd Open diff view (staged + unstaged) gD Close diff view gf Current file history gF Branch history gm Compare to origin/main gM Compare to origin/master ``` ### In Diffview File Panel **Important**: Staging keys only work when focused on the file panel (left side). ``` j/k Navigate files Open file diff - Stage/unstage file (must be in file panel) S Stage all files U Unstage all files X Revert file changes Toggle file panel visibility e Focus file panel b Toggle file panel R Refresh file list g? Show help ``` **Note**: Use `gd` (not `gf`) to open diffview with staging capabilities. File history (`gf`) is read-only. ## Blame ``` gB Toggle inline blame go Open commit in browser gy Copy commit URL ``` ## Staging & Committing (Gitsigns) ``` ]h Next hunk [h Previous hunk ghs Stage hunk ghr Reset hunk ghS Stage buffer ghu Undo stage hunk ghp Preview hunk ghb Blame line ``` ## Pull Requests (Octo) ### Listing & Navigation ``` gpl List PRs gpo Checkout PR gpb Open PR in browser gpd Show PR diff ``` ### Creating & Managing ``` gpc Create PR gpr Mark PR ready gpm Merge PR ``` ### Reviewing ``` grs Start review grr Resume review grc Submit review grd Discard review ``` ### In PR Buffer ``` ca Add comment cd Delete comment sa Approve sc Comment sr Request changes ``` ## Issues (Octo) ``` gil List issues gic Create issue gib Open in browser ``` ## Common Workflows ### Review a PR 1. `gpl` - List PRs 2. Select PR and press `` 3. `grs` - Start review 4. Navigate files, add comments 5. `grc` - Submit review ### Compare Branch to Main 1. `gm` - Open diff vs main 2. Review changes in split view 3. `gD` - Close when done ### Investigate File History 1. `gf` - File history 2. Navigate commits with `j/k` 3. `` to view diff at commit 4. `gD` - Close when done ### Quick Blame Check 1. `gB` - Toggle blame 2. Line blame shows inline 3. `go` - Open commit if needed 4. `gB` - Toggle off