11

我对 git 还很陌生,所以我一直在试图弄清楚如何将 3 个提交压缩为 1 个,以便我的 PR 可以合并。我已经阅读了很多文档和指南,并且有点了解如何压缩提交,但我的一个提交没有出现。当我输入:“git rebase -i HEAD~5”时,我尝试附上我的提交照片和我的终端照片,但不幸的是我是一个新用户,所以我不能?但无论如何,我将非常感谢一些帮助。

4

4 回答 4

20

如何将 3 个提交压缩为 1 个?

  • 首先执行 git log 并确认您要压缩的提交已提交。
  • 如果你想从你的脑海中清除前 3 个提交,

使用这个命令,

git rebase -i HEAD~3

这里的波浪号 ~ 符号 3 选择最近的三个提交,它将在交互式 shell 中弹出,您可以在其中选择顶部提交并通过输入 s 将其他两个提交压缩为一个,这意味着 squash。

如果您的提交没有出现,那么执行 git log 并查看,如果没有,则

git add files
git commit -m 'your commit'
于 2017-05-29T19:51:15.530 回答
1

自 2016 年 4 月 1 日起,存储库管理员现在可以执行拉取请求的压缩。但是,如果您被要求自己这样做,那么:

  1. 这个 SO 响应涵盖了它
  2. Eli Bendersky 的这篇文章也涵盖了这一点
于 2017-05-29T19:38:17.187 回答
0

嘿,所以 GitHub 在合并 PR 时有 Squash And Merge 选项。因此,您无需执行任何操作,只需在合并时使用 Squash and Merge 选项即可。

更多信息在这里https://help.github.com/articles/about-pull-request-merges/#squash-and-merge-your-pull-request-commits

于 2017-05-29T19:36:41.020 回答
0

压缩提交意味着创建一个新的提交而不是几个。git reset到您的分支的基本提交并创建一个新的。然后就git push -f到你的分支。

于 2017-05-29T19:42:14.130 回答