一种选择是做一个交互式重新分配,在其中压缩两个问题2提交在一起。
git rebase -i HEAD~4
这告诉Git,你想做一个交互式重新分配涉及到四个提交,包括从你的分支头向后计数。这将显示一个列表看起来像以下:
pick 0d229f4 Fixed issue 1
pick 7bea5cc Fixed issue 2 (part 1)
pick fa23b79 Fixed issue 2 (part 2)
pick 123eabc Fixed issue 3
注意最古老承诺出现第一,以及最近的四次提交的出现最后。
更改pick
为中提交部分2要与第一部分相结合,squash
:
组合提交标记
squash
到commit
它上面,在这种情况下,合并
pick 0d229f4 Fixed issue 1
pick 7bea5cc Fixed issue 2 (part 1)
squash fa23b79 Fixed issue 2 (part 2)
pick 123eabc Fixed issue 3
挤压手段第2部分到第1部分。
然后保存此文件并退出编辑器,并完成rebase。
注意:重写公共分支的历史记录可能会导致除使用此分支的人之外的任何人出现问题。因此,如果这种情况适用于您,您可能需要避免使用此答案。
你*可以*,但问题是*应该*你?任何从主人那里取消的人都需要被通知重新提交重写的历史记录。 – chepner