我想简单地压缩一堆不再需要的 git 提交。我试图遵循这个站点的文档,但我最终得到 git 说没有什么可压缩的。我只有一个分支,所以我遵循了那个部分。有任何想法吗?
如果我这样做,我会使用“rebase”。假设您已检出分支,并且它是从 master 分支的,请执行
git rebase -i master
Run Code Online (Sandbox Code Playgroud)
这将允许您修改从 master 到当前分支的提交。在您的情况下,替换pick为s(for squash) 或f(for fixup,这是一个删除压缩提交的提交消息的压缩)。保存并退出(Vim 中的 ZZ),rebase 会发挥它的魔力。Rebase 是一种更通用的解决方案,因为在同一操作中,您可以删除、重新排序和重新编写提交。
变基设置将在 Vim 或您在EDITOR环境变量中设置的任何编辑器中打开。在 Vim 中,导航到您希望压缩的提交行的开头(使用箭头键或鼠标),cw删除pick并进入插入模式,f进行修复或s压缩,然后ZZ保存并退出。
作为旁注,您提供的链接建议将您的功能分支扁平化为单个提交。在我看来,这是一个糟糕的主意。提交应该代表一组有意义的更改。分支是代表功能的这些更改的集合。将所有内容压缩到一个巨大的提交中意味着其他开发人员将更难跟随您的更改。
| 归档时间: |
|
| 查看次数: |
8091 次 |
| 最近记录: |