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