git
4
总安装量
4
周安装量
#54455
全站排名
安装命令
npx skills add https://github.com/hyperb1iss/hyperskills --skill git
Agent 安装分布
amp
4
gemini-cli
4
claude-code
4
github-copilot
4
codex
4
kimi-cli
4
Skill 文档
Git Operations
Advanced git workflows and conflict resolution.
Decision Trees
Conflict Resolution Strategy
| Situation | Strategy |
|---|---|
| Lock file conflict (pnpm-lock, Cargo.lock, etc.) | Never merge manually. Checkout theirs, regenerate. |
| SOPS encrypted file | Checkout theirs, run sops updatekeys, re-add. |
| Simple content conflict | Resolve manually, prefer smallest diff. |
| Large structural conflict | Consider --ours/--theirs + manual reapply of the smaller side. |
Rebase vs Merge
| Situation | Use |
|---|---|
| Feature branch behind main | git rebase origin/main |
| Shared branch (others have it checked out) | Never rebase. Merge only. |
| Cleaning up messy commits before PR | git rebase -i with squash/fixup |
| Already pushed and others pulled | Never rebase. Use git revert instead. |
Undo Operations
| What happened | Fix |
|---|---|
| Wrong commit message (not pushed) | git commit --amend |
| Last commit was wrong (keep changes staged) | git reset --soft HEAD~1 |
| Last commit was wrong (keep changes unstaged) | git reset HEAD~1 |
| Already pushed bad commit | git revert <hash> (creates new commit) |
| Need to recover something lost | git reflog then git checkout HEAD@{N} |
Lock File Conflicts
Always regenerate, never manually merge:
# pnpm
git checkout --theirs pnpm-lock.yaml && pnpm install && git add pnpm-lock.yaml
# npm
git checkout --theirs package-lock.json && npm install && git add package-lock.json
# Cargo
git checkout --theirs Cargo.lock && cargo generate-lockfile && git add Cargo.lock
# SOPS encrypted files
git checkout --theirs secrets.yaml && sops updatekeys secrets.yaml && git add secrets.yaml
Archaeology
# Find when a string was added/removed
git log -S "search string" --oneline
# Blame specific lines
git blame -L 10,20 <file>
# Find commits touching a function
git log -L :functionName:file.js
# Binary search for a bug introduction
git bisect start && git bisect bad HEAD && git bisect good v1.0.0
Safety Rules
- Never rebase shared branches
--force-with-leasenot--force(prevents overwriting others’ work)- Regenerate lock files — never merge them
- Backup branch before destructive ops:
git branch backup-$(date +%Y%m%d-%H%M%S) - Never commit large binaries — use Git LFS