git-workflow

Complete git workflow patterns: GitHub Flow branching, atomic commits, and recovery operations. Essential for maintaining clean, reviewable history.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "git-workflow" with this command: npx skills add yonatangross/orchestkit/yonatangross-orchestkit-git-workflow

Git Workflow

Complete git workflow patterns: GitHub Flow branching, atomic commits, and recovery operations. Essential for maintaining clean, reviewable history.

Argument Resolution

SUBCOMMAND = "$ARGUMENTS[0]" # Optional subcommand, e.g., "recovery", "branch", "stacked"

If no arguments, show full workflow reference.

$ARGUMENTS is the full string (CC 2.1.59 indexed access)

Branch Naming Convention

Feature branches (link to issue)

issue/<number>-<brief-description> issue/123-add-user-auth

When no issue exists

feature/<description> fix/<description> hotfix/<description>

Branch Rules:

  • main is always deployable

  • Branch from main , PR back to main

  • Branches live < 1-3 days

  • Delete branch after merge

Atomic Commit Checklist

[ ] Does ONE logical thing [ ] Leaves codebase working (tests pass) [ ] Message doesn't need "and" in title [ ] Can be reverted independently [ ] Title < 50 chars, body wraps at 72

Interactive Staging

Stage changes hunk-by-hunk

git add -p

Options:

y - stage this hunk

n - skip this hunk

s - split into smaller hunks

e - manually edit the hunk

q - quit

Review what's staged

git diff --staged # What will be committed git diff # What won't be committed

Commit Patterns

Separate concerns

git add -p && git commit -m "refactor: Extract database pool" git add -p && git commit -m "feat(#456): Add query caching"

Never combine unrelated changes

BAD: "feat: Add auth and fix formatting"

GOOD: Two separate commits

Recovery Quick Reference

The Safety Net

ALWAYS check reflog first - it has everything

git reflog

Shows ALL recent HEAD movements

Even "deleted" commits live here for 90 days

Common Recovery Scenarios

Scenario Not Pushed Already Pushed

Undo commit git reset --soft HEAD~1

git revert HEAD

Wrong branch cherry-pick + reset cherry-pick + revert

Lost commits git reset --hard HEAD@{N}

N/A

Bad rebase git rebase --abort or reflog reflog + force-with-lease

Quick Recovery Commands

Undo last commit, keep changes staged

git reset --soft HEAD~1

Find lost commits

git reflog | grep "your message"

Recover to previous state

git reset --hard HEAD@{1}

Safe force push (feature branches only)

git push --force-with-lease

Standard Workflow

1. Start fresh

git checkout main && git pull origin main git checkout -b issue/123-my-feature

2. Work with atomic commits

git add -p git commit -m "feat(#123): Add User model"

3. Stay updated

git fetch origin && git rebase origin/main

4. Push and PR

git push -u origin issue/123-my-feature gh pr create --fill

5. Cleanup after merge

git checkout main && git pull git branch -d issue/123-my-feature

Anti-Patterns

Avoid:

  • Long-lived branches (> 1 week)
  • Merging main into feature (use rebase)
  • Direct commits to main
  • Force push to shared branches
  • Commits that need "and" in message
  • Committing broken code

Best Practices Summary

  • Branch from main - Always start fresh

  • Stage interactively - Use git add -p

  • One thing per commit - If you say "and", split it

  • Rebase, don't merge - Keep history clean

  • Check reflog first - When something goes wrong

  • Force-with-lease - Safer than force push

  • Delete after merge - No stale branches

Related Skills

  • ork:commit

  • Create commits with conventional format and pre-commit validation

  • git-recovery

  • Quick recovery from common git mistakes using reflog operations

  • stacked-prs

  • Multi-PR development for large features with dependent PRs

  • ork:create-pr

  • Comprehensive PR creation with proper formatting

Key Decisions

Decision Choice Rationale

Branching model GitHub Flow Simple single-branch workflow, main is always deployable

Merge strategy Rebase over merge Keeps history clean and linear, easier to bisect

Branch naming issue/- Links work to tracking, enables automation

Commit granularity Atomic (one thing) Independent revert, clear history, easier review

Force push --force-with-lease only Prevents overwriting others' work on shared branches

Rules

Each category has individual rule files in rules/ loaded on-demand:

Category Rule Impact Key Pattern

Branch Protection ${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/rules/branch-protection.md

CRITICAL Protected branches, required PR workflow

Merge Strategy ${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/rules/merge-strategy.md

HIGH Rebase-first, conflict resolution, force-with-lease

History Hygiene ${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/rules/history-hygiene.md

HIGH Squash WIP, fixup commits, clean history

Recovery ${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/rules/recovery-reflog.md

CRITICAL Reflog recovery for lost commits and branches

Recovery ${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/rules/recovery-reset.md

CRITICAL Safe vs dangerous reset modes

Recovery ${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/rules/recovery-stash.md

HIGH Stash management and dropped stash recovery

Stacked PRs ${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/rules/stacked-pr-workflow.md

HIGH Stack planning, PR creation, dependency tracking

Stacked PRs ${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/rules/stacked-pr-rebase.md

HIGH Rebase management, force-with-lease, retargeting

Monorepo ${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/rules/monorepo-context.md

MEDIUM --add-dir, per-service CLAUDE.md, workspace detection

Total: 9 rules across 6 categories

References

Load on demand with Read("${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/references/<file>") :

File Content

github-flow.md

GitHub Flow branching guide

interactive-staging.md

Interactive staging patterns

reflog-recovery.md

Reflog recovery techniques

recovery-decision-tree.md

Recovery scenario decision tree

Checklists

Load on demand with Read("${CLAUDE_PLUGIN_ROOT}/skills/git-workflow/checklists/<file>") :

File Content

branch-checklist.md

Pre-flight checks before creating branches

pre-commit-checklist.md

Validation before committing

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

devops-deployment

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-review-playbook

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

github-operations

No summary provided by upstream source.

Repository SourceNeeds Review