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

如何将两个Git分支之间的差异提交到第三个分支?

把分支A与B的差异提交到新分支并合并到master的步骤

以下是直接可行的操作步骤,完全适配你提到的大量提交、多次合并冲突的场景:

  1. 确保工作区干净并切换到master分支
    先检查当前有没有未提交的更改,避免影响后续操作:

    git status
    

    切换到master分支,如果需要同步远程最新版本,执行拉取:

    git checkout master
    git pull origin master
    
  2. 基于master创建新分支C
    直接创建并切换到分支C:

    git checkout -b C
    
  3. 生成A与B的差异补丁并应用到C
    注意:你提到的git diff B A会生成A相对于B的差异,如果要获取从A到B的所有变更(也就是你在B上相对于A做的修改),应该用git diff A B来生成补丁:

    git diff A B > branch_diff.patch
    

    然后在分支C上应用这个补丁:

    git apply branch_diff.patch
    
  4. 处理冲突并提交更改
    应用补丁后检查状态,确认更改符合预期:

    git status
    

    如果出现冲突,手动打开冲突文件解决后,标记文件已处理:

    git add <冲突文件名>
    

    提交所有更改到分支C:

    git commit -m "Apply all changes from branch B relative to branch A"
    
  5. 合并分支C到master
    切换回master分支,执行合并:

    git checkout master
    git merge C
    

    若合并时出现冲突,重复冲突解决步骤后提交即可。

  6. 清理临时文件与分支(可选)
    补丁文件和分支C如果不再需要,可以删除:

    rm branch_diff.patch
    git branch -d C
    

内容的提问来源于stack exchange,提问作者Mohamad-Jaafar NEHME

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:05:07