| name | git-advanced-workflows |
| description | Master advanced Git techniques to maintain clean history, collaborate effectively, and recover from any situation with confidence. |
| category | AI & Agents |
| source | antigravity |
| tags | ["ai","workflow","security","cro"] |
| url | https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/git-advanced-workflows |
Git Advanced Workflows
Master advanced Git techniques to maintain clean history, collaborate effectively, and recover from any situation with confidence.
Do not use this skill when
- The task is unrelated to git advanced workflows
- You need a different domain or tool outside this scope
Instructions
- Clarify goals, constraints, and required inputs.
- Apply relevant best practices and validate outcomes.
- Provide actionable steps and verification.
When to Use
- Cleaning up commit history before merging
- Applying specific commits across branches
- Finding commits that introduced bugs
- Working on multiple features simultaneously
- Recovering from Git mistakes or lost commits
- Managing complex branch workflows
- Preparing clean PRs for review
- Synchronizing diverged branches
Core Concepts
1. Interactive Rebase
Interactive rebase is the Swiss Army knife of Git history editing.
Common Operations:
pick: Keep commit as-is
reword: Change commit message
edit: Amend commit content
squash: Combine with previous commit
fixup: Like squash but discard message
drop: Remove commit entirely
Basic Usage:
git rebase -i HEAD~5
git rebase -i $(git merge-base HEAD main)
git rebase -i abc123
2. Cherry-Picking
Apply specific commits from one branch to another without merging entire branches.
git cherry-pick abc123
git cherry-pick abc123..def456
git cherry-pick -n abc123
git cherry-pick -e abc123
3. Git Bisect
Binary search through commit history to find the commit that introduced a bug.
git bisect start
git bisect bad
git bisect good v1.0.0
git bisect good
git bisect reset
Automated Bisect:
git bisect start HEAD v1.0.0
git bisect run ./test.sh
4. Worktrees
Work on multiple branches simultaneously without stashing or switching.
git worktree list
git worktree add ../project-feature feature/new-feature
git worktree add -b bugfix/urgent ../project-hotfix main
git worktree remove ../project-feature
git worktree prune
5. Reflog
Your safety net - tracks all ref movements, even deleted commits.
git reflog
git reflog show feature/branch
git reflog
git checkout abc123
git branch recovered-branch
git reflog
git branch deleted-branch abc123
Practical Workflows
Workflow 1: Clean Up Feature Branch Before PR
git checkout feature/user-auth
git rebase -i main
git push --force-with-lease origin feature/user-auth
Workflow 2: Apply Hotfix to Multiple Releases
git checkout main
git commit -m "fix: critical security patch"
git checkout release/2.0
git cherry-pick abc123
git checkout release/1.9
git cherry-pick abc123
git cherry-pick --continue
git cherry-pick --abort
Workflow 3: Find Bug Introduction
git bisect start
git bisect bad HEAD
git bisect good v2.1.0
npm test
git bisect bad
git bisect good
git bisect start HEAD v2.1.0
git bisect run npm test
Workflow 4: Multi-Branch Development
cd ~/projects/myapp
git worktree add ../myapp-hotfix hotfix/critical-bug
cd ../myapp-hotfix
git commit -m "fix: resolve critical bug"
git push origin hotfix/critical-bug
cd ~/projects/myapp
git fetch origin
git cherry-pick hotfix/critical-bug
git worktree remove ../myapp-hotfix
Workflow 5: Recover from Mistakes