git - 如何将提交分成多个 squashes

标签 git github git-commit git-rebase git-squash

我需要一些帮助来压缩 GitHub 中的提交。

我有大约 30 个提交,我想将前 10 个提交压缩为一个压缩提交,将另外 10 个提交压缩为另一个压缩提交。我使用了 git rebase -i HEAD~10 压缩了前 10 次提交。那很好用。但是当我尝试压缩接下来的 10 次提交时,之前压缩的提交也会出现在列表中。即使我没有将压缩提交的选项从“pick”更改为“squash”,它也包含在生成的压缩提交中。结果我只得到了一个压缩的提交。 谁能指导我根据我的要求获得两个单独的压缩提交。

提前致谢

最佳答案

new 组中的第一次提交需要使用picksquash 条目压缩到 previous 提交上。

就其值(value)而言,您可以在一次 rebase 中完成。如果您的选择列表看起来像

pick a
squash b
squash c
pick d
squash e
pick f
squash g
squash h

您将获得一个压缩了 a+b+c 的提交,一个压缩了 d+e 的提交,一个压缩了 f+g+h 的提交。

关于git - 如何将提交分成多个 squashes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61738836/

相关文章:

GitHub - 从模板存储库中提取更改

github - 创建 github 机器用户而不创建 github 用户?

git - 如何删除git中的第一个提交?

ruby-on-rails - Rails 4 - capistrano 3 不部署最后的提交

git - 如何使用git将本地更改从一台电脑复制到另一台电脑

git - 重新启动 pull 请求,其中一些文件自原始以来未曾更改

git - 适用于 Windows 的 Vim - 我应该输入什么来保存和退出文件?

git - 当 git blame 时,你如何抑制 --show-name (filename) 选项?

git - 摆脱无法访问的提交

git - 是否可以将 git commit 设置为具有 1970 年之前的时间戳?