mcpField
W
worktree-rebase-merge

worktree-rebase-merge

github.com/tisfeng開発053 回インストール6 日前に更新
リポジトリ

worktree-rebase-merge について

許可を得た場合に、現在の Git checkout の変更をコミット、rebase、merge で対象ブランチへ統合するスキルです。書き込みの前後に状態を確認し、ドリフトや競合など安全でない状況では破壊的な復旧操作を使わず停止します。

主な機能

  1. 01同階層の git-commit スキルでコミット
  2. 02ソースを対象ブランチへ rebase
  3. 03対象 worktree から merge
  4. 04書き込み前後の Git 状態検証
  5. 05競合や予期しないドリフトで停止

活用シーン

  1. 01タスクブランチを対象ブランチへ統合
  2. 02ソースと対象が同じ場合の変更コミット
  3. 03対象 worktree が汚れている場合の安全な一時停止

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tisfeng/skills --skill worktree-rebase-merge

インストール後、Claude Code で/worktree-rebase-mergeを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
integration-workflow.md
reporting.md
scripts/
collect-integration-facts.py
tests/
test_collect_integration_facts.py

詳細

プロジェクトの README より

Worktree Rebase/Merge 工作流

将当前 checkout 视为源:必要时创建任务分支并提交,rebase 到目标分支, 再从目标分支的 worktree 合并。源与目标相同时只提交,不 rebase 或 merge。

依赖与授权

完整交付依赖同级完整安装的 git-commit,复用其提交、 统一分支命名和已有提交回执能力。 依赖缺失时可报告已知事实,但无法完成 helper 预检,在任何 Git 写入前停止。

本 Skill 只在用户明确要求本地集成时执行 Git 写入。仅预览或只读请求不创建分支/ worktree、不暂存、提交、rebase 或 merge。除非用户明确要求,不 fetch、pull 或 push。

Git 状态保护

  • 开始前确认允许路径、提交范围、用户限制,以及源/目标的 HEAD、索引、工作树、 worktree 占用和进行中操作。
  • Git 写操作串行执行;每次写入前复验相关状态,写入后确认结果符合预期。
  • rebase 前冻结源提交范围与目标 OID;rebase 后核对改写结果。merge 前确认源干净、 目标仍为冻结 OID,且目标 worktree 没有漂移。
  • 不使用 reset、强制移动 ref、stash 或 clean,不切换用户其他 checkout 的分支。
  • 发现非预期漂移、未解冲突、范围不一致、不能安全处理的语义冲突或权限拒绝时, 保留现场并停止后续写入。

主流程

  1. 读取 集成协议,使用其只读 helper 收集稳定的源/目标事实。
  2. 用户指定目标时使用该分支;否则按集成协议实时解析远程默认分支。目标或 remote 有歧义、无法证明实时默认分支或本地目标不存在时,在写入前停止并请用户指定。
  3. detached HEAD 按集成协议挂接到不覆盖现有 ref 的任务分支。没有 staged、unstaged、 untracked 或相对目标的提交时,不创建空分支。
  4. 源与目标相同时,只使用 git-commit 完成提交和回执。
  5. 其他情况先用 git-commit 提交获准的源变更,要求源 worktree 干净;再检查完整 <target>..<source> 提交和路径范围,执行 git rebase <target> 并验证改写结果。
  6. 在干净的目标 worktree 执行 git merge <source>。没有目标 worktree 时,在仓库外创建临时 worktree,成功合并后删除;冲突或失败时保留供恢复。
  7. 读取 集成回执,报告真实分支、OID、worktree、rebase/merge、工作树和 Push 状态;单提交或多提交统计复用 git-commit 的回执契约。

完成与停止条件

直接提交模式在 git-commit 完成时结束。普通集成只有在源已成功 rebase、目标从冻结 OID 按预期合并、源与目标最终状态已验证且回执完整时才算完成。目标只有脏 worktree 时,允许先完成源提交,然后在 rebase/merge 前暂停;恢复步骤见集成协议。

コメント