0

使用 git,我创建了一个本地分支来工作。然后我逐步提交了我的工作。所以,我在同一个拉取请求中获得了 3 次提交,我想将它们合并为一个。

我发现如果我们遵循以下步骤,就有办法做到这一点:

  • git rebase -i HEAD~3

=> 分支中的所有提交如下所示

pick mycommit1
pick mycommit2
pick mycommit3
  • 要将它们融合到第一个中,我必须将 mycommit2 和 mycommit3 的命令设置为squash而不是pick

但是,就我而言,我在主分支中的提交之间有很多提交,因此,我不能这样做。

因此,我会问我是否可以在我的拉请求中进行合并。

欢迎您的想法。

谢谢

4

1 回答 1

0

您可以在变fixup基时使用该命令。这个命令做同样的事情,squash但同时保留第一次提交的消息。例如:

pick 123abcd
pick abc1234
pick a1b2c34

您可以将其更改为:

pick 123abcd
f abc1234
f a1b2c34

现在您将这 3 个提交加入到一个提交中,该提交将获得第一条消息。如果你想编辑一次消息,你可以这样做:

pick 123abcd
f abc1234
s a1b2c34

这意味着这 3 个提交将合并为一个提交,您可以编辑该提交。


额外提示:为了更容易将 each 更改pick为命令,您可以简单地使用 Vims 块选择功能来选择所有 'pick' 并将其更改为您想要的命令。

于 2013-02-20T15:00:37.773 回答