git-advanced-workflows
Master advanced Git techniques to maintain clean history, collaborate effectively, and recover from any situation with confidence.
By sickn33 · 381 installs
npx skills add sickn33/agentic-awesome-skills --skill git-advanced-workflows
Source repository · Upstream listing
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:
2. Cherry Picking
Apply specific commits from one branch to another without merging entire branches.
3. Git Bisect
Binary search through commit history to find the commit that introduced a bug.
Automated Bisect:
4. Worktrees
Work on multiple branches simultaneously without stashing or switching.
5. Reflog
Your safety net tracks all ref movements, even deleted commits.
Practical Workflows
Workflow 1: Clean Up Feature Branch Before PR
Workflow 2: Apply Hotfix to Multiple Releases
Workflow 3: Find Bug Introduction
Workflow 4: Multi Branch Development
Workflow 5: Recover from Mistakes
Advanced Techniques
Rebase vs Merge Strategy
When to Rebase:
Cleaning up local commits before pushing
Keeping feature branch up to date with main
Creating linear history for easier review
When to Merge:
Integrating completed features into main
Preserving exact history of collaboration
Public branches used by others
Autosquash Workflow
Automatically squash fixup commits during rebase.
Split Commit
Break one commit into multiple logical commits.
Partial Cherry Pick
Cherry pick only specific files from a commit.
Best Practices
1. Always Use force with lease : Safer than force, prevents overwriting others' work
2. Rebase Only Local Commits : Don't rebase commits that have been pushed and shared
3. Descriptive Commit Messages : Future you will thank present you
4. Atomic Commits : Each commit should be a single logical change
5. Test Before Force Push : Ensure history rewrite didn't break anything
6. Keep Reflog Aware : Remember reflog is your safety net for 90 days
7. Branch Before Risky Operations : Create backup branch before complex rebases
Common Pitfalls
Rebasing Public Branches : Causes history conflicts for collaborators
Force Pushing Without Lease : Can overwrite teammate's work
Losing Work in Rebase : Resolve conflicts carefully, test after rebase
Forgetting Worktree Cleanup : Orphaned worktrees consume disk space
Not Backing Up Before Experiment : Always create safety branch
Bisect on Dirty Working Directory : Commit or stash before bisecting
Recovery Commands
Limitations
Use this skill only when the task clearly matches the scope described above.
Do not treat the output as a substitute for environment specific validation, testing, or expert review.
Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.