我们在我们的一个项目中使用develop分支开发模型。
o - - - A - o - o - o - o master
| \ /
\ o hotfix1
\ \
o - B - o - o - o develop
在上面的图表中,需要一个hotfix1,我们在master和develop分支中应用(合并)它。这导致了两个不同的提交IDs和X。
稍后,我们需要一个新的修补程序,该修补程序再次应用于master,从而导致提交C:
o - - - A ... A - - - C master
| \ / \ /
\ M hot
我正在使用一个git工作流与一个开发分支和多个特性分支。有时,需要使用反向合并将功能分支更新到最新的开发状态。很少有两次向后合并在一行中完成(开发在合并之间收到了新的提交)。
有时,将这两种合并结合起来以简化历史是有意义的,理想情况下,不需要重新执行所有实际的合并工作。这是如何做到的呢?对于正常提交,我将使用git rebase HEAD^^ --interactive并将后者标记为fixup,但在合并提交的情况下,这将显示合并带来的所有提交。
在我的git存储库中,我进行了5次提交,如下所示:
commit 4f8b120cdafecc5144d7cdae472c36ec80315fdc
Author: Michael
Date: Fri Feb 4 15:26:38 2011 -0800
commit b688d46f55db1bc304f7f689a065331fc1715079
Author: Michael
Date: Mon Jan 31 10:37:42 2011 -0800
commit b364f9dcec3b0d52666c4f03eb5f6efb7e1e7bda
Author: Michael
Da