如果我想将4个提交压缩成一个联合提交。
我应该使用哪个命令?
我试图了解它们之间的区别,如果我弄错了,请纠正我。
git rebase -i HEAD~4
这只是打开一个编辑器,其中包含所有未被推送的本地提交?
所以我可以在推之前压扁它们吗?
VS
git rebase master -i
实际上确实从master转换为本地分支,
在这里,我将看到已经推送的主提交,并且压制它们不是一个好主意。这应该避免,不是吗?因为改变推送提交是一种不好的做法
答案 0 :(得分:0)
当重新定位master(或任何其他分支)时,您将给定分支的提交导入当前分支。仅当rebase -i
仅编辑当前分支历史记录时。
然后,编辑会询问您要对分支的历史记录执行什么操作,因为您可以删除提交,压缩提交,甚至重新排序。
在您的特定情况下,您需要:
$ git rebase -i HEAD~5
你想要从HEAD~5
进行变基,因为git需要一个基本提交来压缩,因为你要压缩4,那么5就是你的数字。
在编辑器屏幕中,您只需查找要压缩的提交并将其状态从pick
更改为squash
。
就是这样。