18

在 Intellij 中使用 Git 时,如何压缩本地分支的所有提交?我在变基分支窗口中使用什么设置?

我尝试将 Onto 设置为 local/master 并将 From 设置为我的分支,但随后它会尝试将我所做的每次提交的主更改合并到我的分支中,即使我通常每天早上将我的分支重新设置为 master ......所以应该没有冲突。然而,它几乎总是会发现冲突并导致合并问题。我只想压缩分支提交和消息,所以当我推送到 Github 时,它只会看到一个。

在此处输入图像描述

4

2 回答 2

32

这可能有点不舒服,但您可以使用 HEAD~ 的 git 表示法,因此在“Onto”字段中,您可以写下您想要包含的提交数量,例如:

在这个例子中,我有 4 个(最后 4 个)提交,我想合并为 1 个。

变基交互式对话

在打开的对话框中,条目按顺序列出,因此您需要使用下拉框将第一个条目全部压缩。(我做了第一个改写,但这不是必需的,因为无论如何都会有一个用于挤压的消息更改对话框,所以它可以留在'pick'上)

挤压

然后只是合并提交的新消息,您就完成了。

提交消息

于 2017-05-10T09:41:40.390 回答
0

如果您想要“git merge -squash”之类的东西,意味着将一个分支合并到另一个分支(可能是“master”),一个提交包含所有更改,您可以使用 Intellij 中的“Merge Changes ...”选项。只需双击 shift 并键入“合并更改”。在打开的对话框中选择要合并的分支,然后选择“Squash commit”选项。

在此处输入图像描述

于 2020-05-26T07:13:01.317 回答