如何在git中压缩提交?

沃尔特

我只想压缩一堆不再需要的git commit。我试图遵循该站点上的文档,但最终以git表示没有任何可压缩的内容。我只有一个分支,因此我遵循了这一部分。有任何想法吗?

法尔肯纳

如果我这样做了,我会使用“ rebase”。假设您已将分支签出,并且该分支是从master分支的,请执行

git rebase -i master

这将允许您修改从master到当前分支的提交。在您的情况下,picks(for squash)或f(for替换fixup,这是一个将被压缩的提交的提交消息丢弃的南瓜)。保存并退出(在Vim中为ZZ),然后重新设置基准即可发挥作用。Rebase是一种更通用的解决方案,因为您可以在同一操作中删除,重新排序和重新提交密码。

重新设置将在Vim或您在EDITOR环境变量中设置的任何编辑器中打开在Vim中,导航到要压缩的提交(使用箭头键或鼠标)的行的开头,cw删除pick并进入插入模式,f进行修复或s压缩,然后ZZ保存并退出。


附带一提,您提供的链接建议将功能分支扁平化为单个提交。我认为这是一个可怕的想法。提交应该代表一组有意义的更改。分支是代表功能的这些更改的集合。将所有内容压缩到一个巨大的提交中,这意味着其他开发人员将很难遵循您的更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章