merge
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese/hub:merge — Merge Winner
/hub:merge — 合并获胜分支
Merge the best agent's branch into the base branch, archive losing branches via git tags, and clean up worktrees.
将最优Agent的分支合并到基准分支,通过git标签归档失败分支,并清理工作区。
Usage
使用方法
/hub:merge # Merge winner of latest session
/hub:merge 20260317-143022 # Merge winner of specific session
/hub:merge 20260317-143022 --agent agent-2 # Explicitly choose winner/hub:merge # 合并最近会话的获胜分支
/hub:merge 20260317-143022 # 合并指定会话的获胜分支
/hub:merge 20260317-143022 --agent agent-2 # 显式指定获胜AgentWhat It Does
功能说明
1. Identify Winner
1. 确定获胜者
If specified, use that. Otherwise, use the #1 ranked agent from the most recent .
--agent/hub:eval如果指定了参数,则使用该Agent。否则,使用最近一次中排名第一的Agent。
--agent/hub:eval2. Merge Winner
2. 合并获胜分支
bash
git checkout {base_branch}
git merge --no-ff hub/{session-id}/{winner}/attempt-1 \
-m "hub: merge {winner} from session {session-id}
Task: {task}
Winner: {winner}
Session: {session-id}"bash
git checkout {base_branch}
git merge --no-ff hub/{session-id}/{winner}/attempt-1 \
-m "hub: merge {winner} from session {session-id}
Task: {task}
Winner: {winner}
Session: {session-id}"3. Archive Losers
3. 归档失败分支
For each non-winning agent:
bash
undefined针对每个非获胜Agent:
bash
undefinedCreate archive tag (preserves commits forever)
创建归档标签(永久保留提交记录)
git tag hub/archive/{session-id}/{agent-id} hub/{session-id}/{agent-id}/attempt-1
git tag hub/archive/{session-id}/{agent-id} hub/{session-id}/{agent-id}/attempt-1
Delete branch ref (commits preserved via tag)
删除分支引用(提交记录通过标签保留)
git branch -D hub/{session-id}/{agent-id}/attempt-1
undefinedgit branch -D hub/{session-id}/{agent-id}/attempt-1
undefined4. Clean Up Worktrees
4. 清理工作区
bash
python {skill_path}/scripts/session_manager.py --cleanup {session-id}bash
python {skill_path}/scripts/session_manager.py --cleanup {session-id}5. Post Merge Summary
5. 生成合并总结
Write :
.agenthub/board/results/merge-summary.mdmarkdown
---
author: coordinator
timestamp: {now}
channel: results
---写入文件:
.agenthub/board/results/merge-summary.mdmarkdown
---
author: coordinator
timestamp: {now}
channel: results
---Merge Summary
合并总结
- Session: {session-id}
- Winner: {winner}
- Merged into: {base_branch}
- Archived: {loser-1}, {loser-2}, ...
- Worktrees cleaned: {count}
undefined- 会话: {session-id}
- 获胜者: {winner}
- 合并到: {base_branch}
- 已归档: {loser-1}, {loser-2}, ...
- 已清理工作区数量: {count}
undefined6. Update State
6. 更新状态
bash
python {skill_path}/scripts/session_manager.py --update {session-id} --state mergedbash
python {skill_path}/scripts/session_manager.py --update {session-id} --state mergedSafety
安全保障
- Confirm with user before merging — show the diff summary first
- Never force-push — merge is always for clear history
--no-ff - Archive, don't delete — losing agents' commits are preserved via tags
- Clean worktrees — don't leave orphan directories on disk
- 合并前确认 — 先向用户展示差异摘要,确认后再执行合并
- 绝不强制推送 — 始终使用进行合并,确保提交历史清晰
--no-ff - 归档而非删除 — 通过标签保留失败Agent的提交记录
- 清理工作区 — 不在磁盘上留下孤立目录
After Merge
合并完成后
Tell the user:
- Winner merged into
{base_branch} - Losers archived with tags
hub/archive/{session-id}/agent-{N} - Worktrees cleaned up
- Session state:
merged
告知用户:
- 获胜分支已合并到
{base_branch} - 失败分支已通过标签归档
hub/archive/{session-id}/agent-{N} - 工作区已清理
- 会话状态:
merged