You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git Worktree能否从其他工作区同步未提交更新?求可行方案

可行的替代方案

以下几种方法可以帮你把main工作区的未提交修改同步到integration工作区,不用提交代码也不用重建工作区:

方法一:生成并应用补丁(推荐,适合修改较多的场景)

这是最稳妥的方式,能完整同步所有修改(包括新增文件):

  1. 在main工作区目录下,先把新增的文件标记为待提交(不用真提交):
    git add -N .
    
    (-N参数只会让Git追踪这些文件,不会实际提交)
  2. 生成包含所有未提交修改的补丁文件:
    git diff --cached > ../uncommitted-changes.patch
    
    (如果只有已追踪文件的修改,直接用git diff > ../uncommitted-changes.patch就行)
  3. 切换到integration工作区目录,应用补丁:
    git apply ../uncommitted-changes.patch
    
    如果遇到冲突,Git会提示,你可以手动解决后继续应用,或者用git apply --reject保留冲突文件再处理。

方法二:直接复制修改的文件(适合修改少的场景)

如果你的修改只涉及少数几个文件,直接手动复制更简单:

  • 找到main工作区里修改过或新增的文件,复制到integration工作区对应的目录下覆盖原有文件(新增文件直接粘贴到对应路径)。
  • 注意要保持目录结构一致,避免文件放错位置。

方法三:用Git Stash临时转移修改

利用stash临时保存修改,在另一个工作区应用后再恢复:

  1. 在main工作区保存未提交修改:
    git stash
    
  2. 切换到integration工作区,应用stash里的修改:
    git stash apply
    
    (如果有多个stash,用git stash list查看,指定git stash apply stash@{n})
  3. 回到main工作区,恢复之前的stash:
    git stash pop
    
    注意:如果integration工作区有未提交的修改,应用stash时可能会触发冲突,需要先处理冲突再继续。

内容的提问来源于stack exchange,提问作者heretoinfinity

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 23:31:16