git-worktree-flow
用 Git worktree 创建隔离工作区并在独立分支上迭代提交;当用户提到 worktree、git worktree、GitWorkTree、工作树、隔离分支、临时工作区,或希望"先创建 worktree 再实现需求、过程中持续 commit、完成后询问是否合并并清理 worktree"时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
用 Git worktree 创建隔离工作区并在独立分支上迭代提交;当用户提到 worktree、git worktree、GitWorkTree、工作树、隔离分支、临时工作区,或希望"先创建 worktree 再实现需求、过程中持续 commit、完成后询问是否合并并清理 worktree"时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | git-worktree-flow |
| description | 用 Git worktree 创建隔离工作区并在独立分支上迭代提交;当用户提到 worktree、git worktree、GitWorkTree、工作树、隔离分支、临时工作区,或希望"先创建 worktree 再实现需求、过程中持续 commit、完成后询问是否合并并清理 worktree"时使用。 |
本 Skill 的目标:先创建 Git worktree,把本次需求放到独立分支/独立目录里做;过程中在该分支里持续提交;完成后询问是否合并回主分支,并在确认后清理 worktree 与分支。
origin/HEAD 指向的默认分支;否则尝试 main / master;再否则用当前分支。.worktrees/<branch>(会写入本地 info/exclude,避免污染 git status)。wt/<YYYYMMDD-HHMM>-<slug>(slug 从需求中提取/简化)。--no-ff --no-edit 的 merge commit;如用户偏好,可改为 squash。slug(用于分支名),例如:fix-player-cache、feat-search-ui。确认当前目录在 Git 仓库内:git rev-parse --show-toplevel
如当前工作区有未提交修改,优先先提交或 stash;不建议直接创建 worktree 然后把"脏状态"带过去。
确认 base 分支(优先 origin/HEAD 指向的默认分支,否则用 main / master,再否则用当前分支)。
用 git worktree add 创建 worktree:
branch="wt/$(date +%Y%m%d-%H%M)-<slug>"
path=".worktrees/wt-$(date +%Y%m%d-%H%M)-<slug>"
git worktree add -b "$branch" "$path" <base>
git worktree add -b wt/20260203-fix-player .worktrees/wt-20260203-fix-player main
将 worktree 目录加入 info/exclude(避免污染 git status):
echo ".worktrees/" >> $(git rev-parse --git-common-dir)/info/exclude
cd <worktree_path>go test ./... / npm run lint / 目标用例)。git add -A → git commit -m "fix: ..." → 下一步。在你认为需求已完成且验证通过后,必须问用户一个明确问题(默认推荐选项放在最前):
若用户选择 A 或 B:
cd <主仓库目录>
git checkout <base>
git merge --no-ff --no-edit <worktree分支名>
git checkout -
若用户选择 A(合并 + 清理):
git worktree remove <worktree路径>
git branch -d <worktree分支名>
若用户选择 C:
-D 强删分支;除非用户明确同意,并且你已解释风险。git status:将 .worktrees/ 加入 $(git rev-parse --git-common-dir)/info/exclude 以忽略。worktree add 提示分支已存在:用 --branch 指向已有分支,或先清理旧 worktree。