worktrunk 可以在任务工作树里用 wt merge main 合并到本地 main。若想保留已审查的提交和任务目录,可以先手动提交,再用 --no-commit --no-rebase --no-remove 执行快进合并。
在任务工作树里审查并提交改动
你可以先照着下面的步骤建个演示仓库练手,也可以直接在现有仓库里检查目标分支和工作树状态,这里涉及的手动提交操作不需要额外配置模型。
mkdir worktrunk-merge-demo cd worktrunk-merge-demo git init -b main printf 'Worktrunk practice\n' > README.md git add README.md git commit -m 'Start Worktrunk practice'
eval "$(wt config shell init zsh)" wt switch -c feature/docs --base main printf 'Docs from the task branch\n' > guide.md git add guide.md git diff --cached git commit -m 'Add guide' git status --short

怎么保留提交和原工作树?
切到 feature/docs 分支后执行下面的合并命令就行:--no-commit 会跳过自动提交和 squash 合并步骤,--no-rebase 可以完整保留原有提交图,--no-remove 则不会删掉当前的任务工作树。用这组参数的前提是,目标分支支持快进合并到当前任务分支。
wt merge main --no-commit --no-rebase --no-remove

合并之后怎么确认 main 更新了?
切回 main 分支,查下提交日志和对应文件就能验证结果。操作成功的话,main 分支里会带上刚才的 Add guide 提交,工作树列表里也还能找到之前的任务目录,要注意这步改动只更新本地分支。
wt switch main git log --oneline -2 cat guide.md wt list
要是目标分支已经有新提交,没法走快进合并,先跑 git log --graph --oneline --all 查看全部分支的提交图。如果要求必须保留原有提交图,按你们团队现有的合并流程处理就行;允许重放任务提交的话,可以去掉 --no-rebase 参数,之后自行处理可能出现的代码冲突。
如果用默认合并流程,Worktrunk 可能会自动清理源工作树。用了上面加的 --no-remove 参数的话,验证的时候还是能看到对应的任务目录。


















