我只想压缩一堆不再需要的git commit。我试图遵循该站点上的文档,但最终以git表示没有任何可压缩的内容。我只有一个分支,因此我遵循了这一部分。有任何想法吗?
如果我这样做了,我会使用“ rebase”。假设您已将分支签出,并且该分支是从master分支的,请执行
git rebase -i master
这将允许您修改从master到当前分支的提交。在您的情况下,pick
用s
(for squash
)或f
(for替换fixup
,这是一个将被压缩的提交的提交消息丢弃的南瓜)。保存并退出(在Vim中为ZZ),然后重新设置基准即可发挥作用。Rebase是一种更通用的解决方案,因为您可以在同一操作中删除,重新排序和重新提交密码。
重新设置将在Vim或您在EDITOR
环境变量中设置的任何编辑器中打开。在Vim中,导航到要压缩的提交(使用箭头键或鼠标)的行的开头,cw
删除pick
并进入插入模式,f
进行修复或s
压缩,然后ZZ
保存并退出。
附带一提,您提供的链接建议将功能分支扁平化为单个提交。我认为这是一个可怕的想法。提交应该代表一组有意义的更改。分支是代表功能的这些更改的集合。将所有内容压缩到一个巨大的提交中,这意味着其他开发人员将很难遵循您的更改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句