git合并多个commit
Swift Lv6

有时候为了开发一个新的功能,进行了多次commit,从而导致整个git提交历史显得很冗余。在此记录一下如何合并多个commit:

我们想把提交历史 A->B->C->D 合并成 A->B->C&D

his

  1. 回到基线B:git rebase -i 36a1ccf,然后会看到下图:

rebase

  1. pick 表示选择这条commit,squash 表示将该commit合并到上一个commit,这里我们选择pick C, squash D
  2. 编辑完上述信息后,退出保存会弹出如下界面。这是因为两个commit合并后会生成一个新的commit,所以要填写message:

update

msg

  1. 编辑完上述信息后,退出保存。这时候再查看log信息,就发现生效了:
    msg

备注:许多人在用ubuntu系统,默认编辑器是nano,这里可以切换成vim,方便操作:echo export EDITOR=/usr/bin/vim >> ~/.zshrc && source ~/.zshrc


参考

Powered by Hexo & Theme Keep
Unique Visitor Page View