Improved flow
This commit is contained in:
142
docs/cheatsheets/git-workflow.md
Normal file
142
docs/cheatsheets/git-workflow.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user