スキル一覧に戻る
GGPrompts

merge

by GGPrompts

mergeは、other分野における実用的なスキルです。複雑な課題への対応力を強化し、業務効率と成果の質を改善します。

122🍴 10📅 2026年1月23日
GitHubで見るManusで実行

SKILL.md


name: merge description: | Branch merging and conflict resolution patterns. Use when merging feature branches, handling conflicts, or cleaning up worktrees. Trigger with "merge branch", "resolve conflicts", "cleanup worktree". model: haiku allowed-tools: Bash, Read

Merge - Branch Management

Patterns for merging worker branches and handling conflicts.

CRITICAL: Always kill the worker terminal BEFORE merging. See @references/terminal-cleanup.md

Standard Merge Flow

ISSUE_ID="ISSUE-ID"
TABZ_API="http://localhost:8129"
TOKEN=$(cat /tmp/tabz-auth-token)

# 1. Kill worker terminal first
AGENT_ID=$(curl -s "$TABZ_API/api/agents" | jq -r --arg id "$ISSUE_ID" \
  '.data[] | select(.name == $id) | .id')
[ -n "$AGENT_ID" ] && curl -s -X DELETE "$TABZ_API/api/agents/$AGENT_ID" \
  -H "X-Auth-Token: $TOKEN"

# 2. Ensure on main
git checkout main
git pull

# 3. Merge feature branch
git merge "feature/$ISSUE_ID" --no-edit

# 4. Remove worktree and branch
git worktree remove ".worktrees/$ISSUE_ID" --force
git branch -d "feature/$ISSUE_ID"

# 5. Sync and push
bd sync
git push

One-Command Alternative

For full cleanup with checkpoints, capture, and terminal kill:

./plugins/conductor/scripts/finalize-issue.sh "$ISSUE_ID"

Conflict Detection

# Test merge without committing
git merge --no-commit --no-ff "feature/$ISSUE_ID"
git merge --abort

If conflicts exist, git merge will fail with conflict markers.

Conflict Resolution

Don't auto-resolve. Report conflicts for manual resolution:

# Get conflict files
git diff --name-only --diff-filter=U

# Show conflict details
git diff --check

Manual Resolution Steps

  1. Navigate to worktree: cd .worktrees/ISSUE-ID
  2. Open conflicting files
  3. Resolve conflicts (remove markers, choose correct code)
  4. Stage: git add .
  5. Commit: git commit
  6. Re-run cleanup

Merge Strategies

Fast-Forward (Clean history)

git merge --ff-only "feature/$ISSUE_ID"

Only works if main hasn't changed.

No-FF (Always create merge commit)

git merge --no-ff "feature/$ISSUE_ID"

Creates merge commit even if fast-forward possible.

Squash (Single commit)

git merge --squash "feature/$ISSUE_ID"
git commit -m "feat: description (ISSUE-ID)"

Combines all commits into one.

Default: Use --no-edit for automatic merge commit message.

Worktree Cleanup

# Remove worktree (--force ignores uncommitted changes)
git worktree remove ".worktrees/ISSUE-ID" --force

# List remaining worktrees
git worktree list

# Prune stale worktree references
git worktree prune

Branch Cleanup

# Delete local branch (fails if not merged)
git branch -d "feature/ISSUE-ID"

# Force delete (use carefully)
git branch -D "feature/ISSUE-ID"

# Delete remote branch
git push origin --delete "feature/ISSUE-ID"

Batch Operations

# Find all merged feature branches
git branch --merged main | grep "feature/"

# Delete all merged feature branches
git branch --merged main | grep "feature/" | xargs git branch -d

# Find orphaned worktrees
git worktree list | grep -v "$(pwd)$"

Error Handling

ErrorAction
Merge conflictStop, report files, require manual resolution
Branch not foundSkip branch deletion
Worktree not foundSkip worktree removal
Not on mainCheckout main first
Uncommitted changesStash or warn
TabzChrome not runningSkip terminal kill, continue with merge
No auth tokenSkip terminal kill, continue with merge

Safety Checks

Before merging:

  1. Verify issue is closed
  2. Kill worker terminal via TabzChrome API (see @references/terminal-cleanup.md)
  3. Verify branch exists
  4. Check for conflicts first

After merging:

  1. Verify merge succeeded
  2. Run any CI checks
  3. Sync beads
  4. Push to remote

スコア

総合スコア

70/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

+5
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

+5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です