Git Workflow Skill
Consistent git practices, recovery patterns, and safe operations.
⚠️ Staleness Warning
Git core is stable, but GitHub features (Actions, CLI, Copilot integration) evolve.
Refresh triggers:
- •GitHub CLI major updates
- •GitHub Actions runner changes
- •New git features (e.g.,
git switch,git restore) - •GitHub Copilot CLI integration
Last validated: January 2026 (Git 2.43+, GitHub CLI 2.x)
Check current state: Git Release Notes, GitHub CLI
Commit Message Convention
text
type(scope): brief description - Detail 1 - Detail 2
Types: feat, fix, refactor, docs, chore, test, style
Examples:
text
feat(skills): add git-workflow skill fix(sync): resolve race condition in background sync refactor(skills): migrate domain-knowledge to skills architecture docs(readme): update installation instructions chore(deps): bump typescript to 5.3
Before Risky Operations
powershell
# ALWAYS commit before risky operations git add -A; git commit -m "checkpoint: before [risky thing]" # For extra safety, tag it git tag "safe-point-$(Get-Date -Format 'yyyy-MM-dd-HHmm')"
Recovery Patterns
Undo Last Commit (keep changes)
powershell
git reset --soft HEAD~1
Restore Single File
powershell
git checkout HEAD -- path/to/file
Restore Folder
powershell
git checkout HEAD -- .github/
Hard Reset to Known Good State
powershell
git reset --hard HEAD # Discard all uncommitted changes git reset --hard origin/main # Reset to remote state git reset --hard <tag-name> # Reset to tagged state
Find Last Good Commit
powershell
git log --oneline -20 # Recent history git log --oneline .github/ -10 # History for specific folder
Branching Strategy
text
main └── feature/short-description └── fix/issue-number └── release/v3.7.0
Rules:
- •
mainis always deployable - •Feature branches for experimental work
- •Merge via PR when possible, direct commit for small fixes
- •Delete branches after merge
Conflict Resolution
- •Pull before push:
git pull --rebase origin main - •If conflicts: Resolve in editor, then
git add .+git rebase --continue - •If stuck:
git rebase --abortto start over
Stashing
powershell
git stash # Save work-in-progress git stash pop # Restore and delete stash git stash list # See all stashes git stash drop # Delete top stash
Anti-Patterns
- •❌
git push --forceon shared branches - •❌ Committing secrets or credentials
- •❌ Giant commits with unrelated changes
- •❌ Vague messages like "fix stuff" or "update"
Synapses
See synapses.json for connections.