首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将git提交历史记录压缩到5次提交

如何将git提交历史记录压缩到5次提交
EN

Stack Overflow用户
提问于 2014-07-23 06:51:12
回答 1查看 170关注 0票数 1

我的repo有大量的提交,我想压缩所有东西,直到最后五次提交-所以在最后,repo会有一次压缩,一次提交,然后是我最近的五次提交。

之前:

代码语言:javascript
复制
10
9
8
7
6
5
4
3
2
1

之后:

代码语言:javascript
复制
10
9
8
7
6
squash commit

我尝试了git reset --在被挤压部分的末尾和开头都是软的,但是我不确定如何保持我的最后五个提交,当我挤压五个之前的部分时,这些提交就消失了。

EN

回答 1

Stack Overflow用户

发布于 2014-07-23 07:06:52

使用git rebase -i --root。(如果您的git还不够新,不能在其交互式rebase中使用--root,这就有点痛苦了,因为您必须首先创建一个“孤立”分支。)您将看到一个关于如下所示文件的编辑器会话:

代码语言:javascript
复制
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将拥有最终提交的副本(并且没有原始提交-好吧,它们仍然在那里,只是现在看不见,最终将被垃圾收集)。

(您还将有机会修改压缩提交的提交文本。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24899183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档