Agent skill
worktree-sync
Sync git worktrees with remote and main branch changes. Use to keep long-running feature branches up-to-date.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/worktree-sync
SKILL.md
Worktree Sync
Keep worktrees synchronized with remote changes.
When to Use
- Long-running feature branches
- Main branch has new commits
- Before creating/updating PR
- Resolving merge conflicts
- Feature branch is diverged from main
Quick Reference
bash
# Fetch latest from remote (works in any worktree)
git fetch origin
# Update main worktree
cd ../ProjectOdyssey && git pull origin main
# Update feature worktree (rebase approach)
cd ../ProjectOdyssey-42-feature && git rebase origin/main
# Update feature worktree (merge approach)
cd ../ProjectOdyssey-42-feature && git merge origin/main
# Auto-sync all worktrees
./scripts/sync_all_worktrees.sh
Workflow
- Fetch remote -
git fetch origin(any worktree) - Update main - Navigate to main worktree,
git pull origin main - Update feature - Navigate to feature worktree,
git rebase origin/mainorgit merge - Resolve conflicts - If conflicts occur, fix files and
git rebase --continue - Verify - Check
git logto confirm main branch changes are included
Rebase vs Merge
| Approach | Use When | Command |
|---|---|---|
| Rebase | Linear history preferred | git rebase origin/main |
| Merge | Preserving branch history | git merge origin/main |
Error Handling
| Error | Solution |
|---|---|
| Conflicts during rebase | Run git status, fix files, git add ., git rebase --continue |
| Diverged branches | Use git pull --rebase origin main |
| Uncommitted changes | Commit or stash before syncing |
| Detached HEAD | Check git status and git checkout <branch> |
Conflict Resolution
bash
# If conflicts occur
git status # See conflicted files
# Edit files to resolve conflicts
# Then continue
git add .
git rebase --continue
# Or abort if something went wrong
git rebase --abort
Best Practices
- Fetch regularly to catch conflicts early
- Sync before creating PR to avoid merge conflicts
- Keep feature branches short-lived (2-3 days max)
- Resolve conflicts immediately
- Use rebase for linear history (preferred for this project)
References
- See
worktree-createskill for creating worktrees - worktree-strategy.md
Didn't find tool you were looking for?