我想问一下Git merge 在以下场景中的情况:
branchA -*-*-*-*-*
\
branchB *-*-*-*
在这种情况下可以进行 git merge 并获得以下结果吗?
branchA -*-*-*-*-*---------*
\ /
branchB *-*-*-*
我想要获得的是在分支 A 上进行一次 merge 提交,其中包含来自分支 B 的所有更改。 我知道 git merge 命令中有 --squash 选项,但是我不确定这是否 100% 相当于标准 merge 。
因此,允许我阻止我的分支拓扑,并且不只有快进。
提前非常感谢您的帮助!
最佳答案
尝试git mergebranchb --no-ff
(来自brancha
)。来自 git-merge(1)
--no-ff
Create a merge commit even when the merge resolves as a fast-forward.
即使 git 意识到当前的 HEAD(分支 A,因为这是您将 merge 表单的地方)只不过是分支 B 上提交的祖先,并且没有并行发生任何更改,它也会阻止快进在分支 A 上。
关于Git:在 merge 提交上保留分支拓扑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15703871/