小编Joh*_*n M的帖子

如何重新合并已合并的分支?

我有一个提交图,看起来像下面的那个.标记*为的提交代表许多提交.

   A*
   |
   B---------
   |        |
   C*       D*    <- old feature branch
   |        |
   E---------
   |
   F*
   |
   G      <- master
Run Code Online (Sandbox Code Playgroud)

合并提交E未正确完成,并且C*中的某些更改(不是全部)已丢失.如何重做该合并以将更改重新引入当前主服务器?

一切都已被推动(开源项目),所以改变历史不是一种选择.

我尝试从提交C*创建一个补丁并将其应用到主服务器,但由于C*的一些更改已正确合并,并且因为项目自该提交后进化,大约80%的补丁失败.

理想情况下,我们会采用C*中的所有更改,将它们应用于掌握并解决所有冲突.但由于分支已经合并,git不会检测到任何更改,也不允许再次合并.

$ git checkout 5bc5295   # C
HEAD is now at 5bc5295... cleanup

$ git checkout -b "missing-commits"
Switched to a new branch 'missing-commits'

$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

$ git merge missing-commits
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)

git merge

9
推荐指数
2
解决办法
9897
查看次数

标签 统计

git ×1

merge ×1