当在IntelliJ中使用Git时,我如何为本地分支压缩所有提交?在rebase分支窗口中使用什么设置?我尝试将Onto设置为local/master,将From设置为我的分支,但然后它会尝试将每个提交的master更改合并到我的分支中,即使我通常每天都将我的分支rebase到master...所以不应该有冲突。然而,它几乎总是发现冲突并导致合并问题。我只想压缩分支提交和消息,这样当我推送到GitHub时,它只会看到一个提交。
这可能有点不舒服,但你可以使用git表示的HEAD~。在"Onto"字段中,您需要写入要包含的提交数量,例如: 在此示例中,我要将最近的4个提交合并为1个。 在打开的对话框中,条目按顺序列出,因此您需要使用下拉框将第一个条目之后的所有条目压缩成一个(我将第一个条目设置为“更改消息”,但实际上不需要这样做,因为压缩后会有一个消息更改对话框,所以它可以留在“选取”状态) 然后只需为组合的提交撰写新消息即可完成。
如果你想要像“git merge -squash”这样的东西,它表示将一个分支与另一个分支(可能是“主”分支)合并为一个包含所有更改的提交,则可以在IntelliJ中使用“合并更改...”选项。只需双击shift键并输入“Merge Changes”。在打开的对话框中,选择要合并的分支,然后选择“Squash commit”选项。