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

如何用Git命令将项目结构不同分支中的指定目录合并?

解决不同分支目录结构下的特定目录合并问题

你可以通过以下两种Git命令方式实现,替代手动复制粘贴:

方法一:直接检出分支路径并调整目录

  1. 切换到目标分支branchX:
    git checkout branchX
    
  2. 检出branchY中dir2/app目录的内容到当前分支(此时会在当前分支生成临时的dir2/app目录):
    git checkout branchY -- dir2/app
    
  3. 将临时目录里的内容移动到branchX根目录的app下,并清理临时目录:
    mv dir2/app/* app/
    rm -rf dir2
    
  4. 提交合并的修改:
    git add app/
    git commit -m "Merge updates from branchY's dir2/app to branchX's app"
    

方法二:生成补丁并调整路径后应用

如果需要更精准地控制要合并的提交范围,可以用补丁方式:

  1. 切换到branchY,生成dir2/app目录的修改补丁(替换<start-commit>为你要合并的起始提交ID):
    git checkout branchY
    git diff <start-commit> HEAD -- dir2/app > app-updates.patch
    
  2. 切换回branchX:
    git checkout branchX
    
  3. 修改补丁中的路径,将dir2/app/替换为app/,再应用补丁:
    sed 's/dir2\/app\//app\//g' app-updates.patch | git apply -
    
  4. 提交修改:
    git add app/
    git commit -m "Apply updates from branchY's dir2/app to branchX's app"
    

注意事项

  • 如果操作中出现冲突,Git会提示冲突文件,需要手动解决冲突后再执行git add和git commit。
  • 若频繁需要这类操作,长期来看还是建议统一两个分支的目录结构,避免重复的路径调整操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 00:52:26