在将它们合并之前,将fix-commit从一个分支移动到另一个分支

时间:2018-05-23 16:47:35

标签: git branching-and-merging git-history-graph

处理不完整的feature分支我已经为Fix提交了master

(master)    A-B-C
(feature)        \_D-E-Fix-G-H

如何将Fix提交到master,...

(master)    A-B-C------Fix'
(feature)        \_D-E-Fix-G-H

...但仍可以feature合并/重新定位我的master分支?

(master)    A-B-C-D-E-Fix-G-H

我认为Fix'应保持Fix的相同SHA,以便不会看到完全不同的提交并顺利合并/重新定位(所以cherry-pick,我通常使用,在这里没有帮助)。 所以也许这是不可能的,但我很好奇是否有任何方法可以从一个分支与另一个分支共享一些临时修复,并且仍然可以在以后合并其余的遗漏提交。

我的feature分支只是本地分支。当然,我想避免重写历史。

1 个答案:

答案 0 :(得分:0)

如果Fix提交是可以选择的,那么它可以独立于DE,因此您可以git rebase -i C并重新排序您的历史记录Fix后面的D

然后将功能分支合并回主服务器很容易。

(master)    A-B-C--Fix'
(feature)        \_Fix-D-E-G-H

你提到你想避免重写历史记录,但是如果你可以选择一个修复提交,我认为重新排序你的功能分支以使其更容易合并应该是可以接受的。