Intellij - 如何仅限本地分支

时间:2016-01-26 16:24:14

标签: git intellij-idea intellij-14 git-squash

在Intellij中使用Git时,如何压缩本地分支的所有提交?我在rebase分支窗口中使用了哪些设置?

我已经尝试将Onto设置为本地/主设备和从设置到我的分支,但随后它会尝试将主设备更改合并到我的分支中,因为我每天早上都会将我的分支转换为主设备......所以不应该有冲突。然而,它几乎总是发现冲突并导致合并问题。我只想压缩分支提交和消息,所以当我推送到Github时它只能看到一个。

enter image description here

2 个答案:

答案 0 :(得分:23)

可能有点不舒服,但你可以使用HEAD~的git表示法 因此,在“Onto”字段中,您将编写要包含的提交量 像:

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

rebase interactive dialogue

在打开对话框中,条目按顺序列出,因此您需要 用下拉框压扁所有第一个之后。 (我做了第一个 改编,但不需要,因为会有一个消息更改对话框 无论如何压扁,所以它可以留在'挑选')

squashing

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

commit message

答案 1 :(得分:0)

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

enter image description here