压缩4次提交 - “rebase master -i`或`rebase -i`

时间:2016-10-08 19:38:30

标签: git github version-control

如果我想将4个提交压缩成一个联合提交。

我应该使用哪个命令?

我试图了解它们之间的区别,如果我弄错了,请纠正我。

git rebase -i HEAD~4

这只是打开一个编辑器,其中包含所有未被推送的本地提交?

所以我可以在推之前压扁它们吗?

VS

git rebase master -i

实际上确实从master转换为本地分支,

在这里,我将看到已经推送的主提交,并且压制它们不是一个好主意。这应该避免,不是吗?因为改变推送提交是一种不好的做法

1 个答案:

答案 0 :(得分:0)

当重新定位master(或任何其他分支)时,您将给定分支的提交导入当前分支。仅当rebase -i仅编辑当前分支历史记录时。 然后,编辑会询问您要对分支的历史记录执行什么操作,因为您可以删除提交,压缩提交,甚至重新排序。 在您的特定情况下,您需要:

$ git rebase -i HEAD~5

你想要从HEAD~5进行变基,因为git需要一个基本提交来压缩,因为你要压缩4,那么5就是你的数字。

在编辑器屏幕中,您只需查找要压缩的提交并将其状态从pick更改为squash。 就是这样。