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

如何将多分支合并至main分支并按分支名归档及实现后续更新

将多分支合并到main分支的同名文件夹

步骤1:准备main分支

先切换到main分支并确保本地代码是最新的:

git checkout main
git pull origin main

步骤2:逐个处理分支并合并

以client分支为例,重复此流程处理server和server2.0分支:

  1. 切换到目标分支:
    git checkout client
    
  2. 创建同名文件夹并移动所有文件到该文件夹(bash环境下可用以下命令,Windows可手动移动后用git add追踪):
    mkdir client
    git mv !(client) client/
    
  3. 提交文件移动操作:
    git commit -m "迁移client分支所有文件到client目录"
    
  4. 切回main分支并合并:
    git checkout main
    git merge client --no-ff  # --no-ff可选,用于保留合并历史
    

后续分支修改后同步到main分支

方法1:直接合并(适合低频更新)

每次分支修改完成后,直接合并到main即可,Git会自动同步对应文件夹的内容:

  1. 在目标分支(如client)完成修改并提交:
    git checkout client
    # 完成文件修改
    git add .
    git commit -m "更新client模块内容"
    
  2. 切回main分支执行合并:
    git checkout main
    git merge client
    
    若出现冲突,解决冲突后执行git add . && git commit完成合并。

方法2:使用git subtree(适合高频同步)

如果需要频繁在分支和main的对应文件夹间同步,用git subtree更高效:

初始化subtree(以client为例)

在main分支执行,绑定client分支到main的client目录:

git subtree add --prefix=client client main

拉取分支更新到main

当client分支有新修改时,在main分支执行:

git subtree pull --prefix=client client main

从main推送更新到分支

如果在main的client目录做了修改,要同步回client分支:

git subtree push --prefix=client client main

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 07:27:20