--preserve-merges
Instead of ignoring merges, try to recreate them.
This uses the --interactive machinery internally, but combining it
with the --interactive option explicitly is generally not a good idea
unless you know what you are doing (see BUGS below).
Run Code Online (Sandbox Code Playgroud)
那么当你使用时会发生什么--preserve-merges?它与默认行为(没有该标志)有何不同?"重新创建"合并等意味着什么?
是否有一个选项可以让git --preserve-merges默认使用rebase ?我知道别名,但我不喜欢记住他们的名字的想法,而且当你习惯他们时,它会让别人的电脑上的一切变得更难.
我有两个独立的分支机构.我在一个多月的不同时间点上了他们.我把一个分支(让我们称之为apple)合并到另一个分支(让我们称之为orange),通过检查橙色和做git merge --no-ff apple,一切都很顺利.在gitk中,我可以清楚地看到每个分支都有自己的历史记录,它在橙色的合并提交中合并在一起.
后来我意识到橙色的提交是不正确的,构建过程中有一个错误,我必须编辑橙色的早期提交.我使用git rebase -i HEAD~19,选择提交并更改pick为edit.所以我编辑提交,一切都很好,我完成了rebase.我回到gitk,两个分支的所有历史都是橙色的线性历史.
所以我搞砸了什么,或者这是应该的方式?我使用git reflog回到合并时,然后我在橙色合并之前做了另一次重置很难回到右边,然后我做了rebase并修复了那个提交,之后我做了合并.现在一切看起来都像我期望的那样,来自分支的提交不会交织在一起.
为了将来参考,有人可以告诉我如何在我已经合并到另一个分支的分支上重新提交提交,而不是以隔行扫描提交(线性历史记录)结束?
如果我的术语不正确,请随意编辑.再次感谢