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

时间:2017-05-29 19:24:07

标签: git github git-commit git-squash

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

4 个答案:

答案 0 :(得分:8)

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

  • 执行git log并查看您想要压缩的提交是否已提交。
  • 如果你想从你的脑袋中进行前3次提交,

使用此命令

git rebase -i HEAD~3

这里的波浪号〜符号选择最近的三个提交,它将弹出一个交互式shell,你可以选择最高提交,并通过输入s将其他两个提交压缩成一个,这意味着壁球。

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

git add files
git commit -m 'your commit'

答案 1 :(得分:1)

自2016年4月1日起,存储库管理员现在可以执行Squashing of pull requests。但是,如果您被要求自己这样做:

  1. This SO response covers it
  2. This article by Eli Bendersky covers this as well

答案 2 :(得分:0)

嘿所以GitHub在合并PR时有Squash And Merge选项。所以你不需要做任何事情,只需在合并时使用选项Squash和Merge。

此处有更多信息https://help.github.com/articles/about-pull-request-merges/#squash-and-merge-your-pull-request-commits

答案 3 :(得分:0)

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