我如何将两个提交合并为一个提交?

这个问题在这里已经有了答案:

  • 我怎样才能将两个提交合并成一个? 11个答案

  • 你想git rebase -i执行一个交互式rebase。

    如果你当前在你的“提交1”,并提交你想合并,“提交2”,是以前的提交,你可以运行git rebase -i HEAD~2并将第二行的第一个字从“挑”到“压扁”。 然后写下你的文件,然后退出。 Git会压缩你的第一次提交到你的第二次提交。

    请注意,此过程会重写分支的历史记录。 如果你在某个地方推动你的代码,你必须git push -f ,任何分享你的代码的人都必须跳过一些环节来吸引你的改变。

    请注意,如果有问题的两个提交不是分支上的最后两个提交,则该过程稍有不同。


    懒惰简单的版本像我这样的健忘人士:

    git rebase -i HEAD~3或者多次提交而不是3次。

    打开这个

    pick YourCommitMessageWhatever
    pick YouGetThePoint
    pick IdkManItsACommitMessage
    

    进入这个

    pick YourCommitMessageWhatever
    s YouGetThePoint
    s IdkManItsACommitMessage
    

    并执行一些操作,然后按esc然后enter以保存更改。 [1]

    当下一个屏幕出现时,摆脱那些垃圾#行[2]并创建一个新的提交消息或其他内容,并执行相同的escape enter操作。 [1]

    Wowee,你有更少的提交。 或者你只是打破了一切。


    [1] - 或者任何适用于你的git配置的东西。 这只是一个有效的序列,因为我的设置很有效。

    [2] - 你会看到一些像# this is your n'th commit的第几次# this is your n'th commit ,你原来的提交正好在这些消息下面。 你想删除这些行,并创建一个提交消息来反映你合并到1中的n个提交的意图。


  • 检查您的分支并统计所有提交的数量。
  • 打开git bash并写入: git rebase -i HEAD~<quantity of your commits> (即git rebase -i HEAD~5
  • 在打开txt文件更改pick关键字squash的所有承诺,除第一次提交(这是在顶部)。 对于上面的一个,将其更改为reword (这意味着您将在下一步中为此提交提供新评论)并单击SAVE!
  • 提供评论。
  • 打开Git并制作“全部获取”以查看新的更改。
  • 完成。
  • 链接地址: http://www.djcxy.com/p/23443.html

    上一篇: How can I combine two commits into one commit?

    下一篇: How do we verify commit messages for a push?