Git rebase:合并非后续提交
到目前为止,我知道有一种很好的方法可以通过使用“git rebase--interactive”组合提交和更改提交消息 有下列情形的:Git rebase:合并非后续提交,git,git-rebase,Git,Git Rebase,到目前为止,我知道有一种很好的方法可以通过使用“git rebase--interactive”组合提交和更改提交消息 有下列情形的: $ git rebase --interactive HEAD^^^^ pick 5b7c140 commitA pick 40ffd7c commitB pick 5e7647d commitC pick 78bea2d commitD Rebase [...] 是否也有可能处理以下要求: 将commitA和commitC、commitB和commitD组
$ git rebase --interactive HEAD^^^^
pick 5b7c140 commitA
pick 40ffd7c commitB
pick 5e7647d commitC
pick 78bea2d commitD
Rebase [...]
是否也有可能处理以下要求:
将commitA和commitC、commitB和commitD组合到新的提交cAC和cBD?这是可能的-您还可以使用交互式重新基址重新安排提交顺序:
pick 5b7c140 commitA
squash 5e7647d commitC
pick 40ffd7c commitB
squash 78bea2d commitD
或
两者之间的区别在于squash
允许您编辑新提交的提交消息,而fixup
仅丢弃第二条提交消息,将前面的pick
提交消息保留在组合提交的位置。(如果编辑器启动得足够快,那么只要选择squash
就可以很好地查看提交消息,即使您认为可能不需要使用fixup
commit的部分消息。)
如果您的
commitB
和commitC
更改了文件的同一部分,则可能会发生重设基础冲突。通常,这些文件可以很容易地进行分类。在我的例子中:关于这些提交,没有冲突的文件。Git太棒了,我想我必须保持提交顺序。非常感谢!:)
pick 5b7c140 commitA
fixup 5e7647d commitC
pick 40ffd7c commitB
fixup 78bea2d commitD