# Merge Workflow Execute via `git-manager` subagent. ## Variables - TO_BRANCH: target (defaults to `main`) - FROM_BRANCH: source (defaults to current branch) ## Step 1: Sync with Remote **IMPORTANT: Always merge `main` (or any default branch) to current branch first.** ```bash git fetch origin git checkout {TO_BRANCH} git pull origin {TO_BRANCH} ``` ## Step 2: Merge from REMOTE ```bash git merge origin/{FROM_BRANCH} --no-ff -m "merge: {FROM_BRANCH} into {TO_BRANCH}" ``` **Why `origin/{FROM_BRANCH}`:** Ensures merging only committed+pushed changes, not local WIP. ## Step 3: Resolve Conflicts If conflicts: 1. Resolve manually 2. `git add . && git commit` 3. If clarifications needed, report to main agent ## Step 4: Push ```bash git push origin {TO_BRANCH} ``` ## Pre-Merge Checklist - Fetch latest: `git fetch origin` - Ensure FROM_BRANCH pushed to remote - Check for conflicts: `git merge --no-commit --no-ff origin/{FROM_BRANCH}` then abort ## Error Handling | Error | Action | |-------|--------| | Merge conflicts | Resolve manually, then commit | | Branch not found | Verify branch name, ensure pushed | | Push rejected | `git pull --rebase`, retry |