我的repo有大量的提交,我想压缩所有东西,直到最后五次提交-所以在最后,repo会有一次压缩,一次提交,然后是我最近的五次提交。
之前:
10
9
8
7
6
5
4
3
2
1之后:
10
9
8
7
6
squash commit我尝试了git reset --在被挤压部分的末尾和开头都是软的,但是我不确定如何保持我的最后五个提交,当我挤压五个之前的部分时,这些提交就消失了。
发布于 2014-07-23 07:06:52
使用git rebase -i --root。(如果您的git还不够新,不能在其交互式rebase中使用--root,这就有点痛苦了,因为您必须首先创建一个“孤立”分支。)您将看到一个关于如下所示文件的编辑器会话:
pick b9491ea commit-10
pick d1574b8 commit-9
...
pick ab31c0f commit-1
# Rebase ...
# [commentary with instructions]将提交2到5更改为" squash ",保存,退出编辑器,rebase将提交2到5压缩到提交#1的副本中,然后添加提交6到10的副本。最终的repo将拥有最终提交的副本(并且没有原始提交-好吧,它们仍然在那里,只是现在看不见,最终将被垃圾收集)。
(您还将有机会修改压缩提交的提交文本。)
https://stackoverflow.com/questions/24899183
复制相似问题