以下是一个小例子。
UP:1-2-4-5-6-7-..........99
B: \3-----------------\
我在2之后做了一个分支并做了提交。 我试图将UP合并到B但遇到冲突,我解决了并且承诺了。 现在我有两个提交。 但我想只有一个。当我试图重新建立时,它说道路上有很多冲突(我之所以放99)。有没有办法解决这个问题。 我只想在此之后进行一次提交。
答案 0 :(得分:3)
如果我理解,你想在B分支的3
提交位于UP分支的顶部(就在99
之后)。
如果尝试通过UP重新绑定B,则应解决每次UP提交的冲突。这可能很乏味。你可以告诉git使用之前提交的冲突解决方案。
但考虑到我们只讨论了一次提交,我看到的最好方法是签出UP
分支,然后挑选3
提交。这会直接在UP分支上复制3
提交的差异。您必须只解决一次冲突(如果有)。然后,如果它有效,您可以删除B分支。
答案 1 :(得分:1)
结帐并执行
git diff UP B | git apply
然后使用与3
相同的消息提交结果如果你想要一个一体的'命令,应该是:
git diff UP B| git apply && git add -u && git commit -m "$(git log -1 --pretty=%B your-sha1-for-commit-3)"