我有以下情况:
我的项目中有类似主分支的东西(图片中为绿色)。
我的同事已经创建了自己的分支(红色)并推动了提交。
不幸的是,在一次推送之前,他合并了他的红色分支与绿色分支放弃了我在此期间进行的所有更改(图片中的R2)。之后,他又进行了一些下推(R3和R4)。
当前,我在G2中,我想将绿色分支与红色分支合并,但是不幸的是,当我合并这两个分支时,跳过了G1和G2之间的所有更改,因为git认为此更改为合并。
所以我的问题是如何将G1和G2之间的更改标记为未合并红色分支,或者至少如何查看这两个分支之间的所有差异以能够手动合并?很高兴看到另一个建议。
答案 0 :(得分:0)
“标记为未合并”?那,您将无法前进。如果您愿意采用最好的方法(正确的历史记录),我会说您签出R1并正确合并G2(em)(或者相反,它将是相同的输出)。然后,您可以选择R2..R4,然后通过正确的合并获得不错的新历史记录。如果您不想覆盖历史记录,则可以检出G2和git merge --no-commit R4
,以便有机会在提交之前取回东西。