git rebase 把多次commit合并成一个

需求

开发过程,自己的一个模块没有完成或者有事情走开了,不想提交到仓库,但是有恐怕代码覆盖或者丢失,就把代码提交到本地仓库了,但是如果一个模块比较大的时候,自己本地提交的次数就比较多了,这样就不想在公司远程仓库中出现那么多commit,所以就想把本地的多次commit合并成一个提交到远程仓库中.

操作

  1. git log(尽量不要git pull, 会把别人的log pull下来)

    先查看一下log,要把前面多少次commit合并了
    1.png

    我自己的log,我想把前面5个合并,然后ctrl+c 退出.
  2. git rebase -i HEAD~5

    命令中5代表合并的commit数,命令以后出现下面页面
    2.png

    然后用vim命令修改pick,把图中头部5个中的pick修改为squash,注意只修改后四个,第一个不用修改,git会自动处理第一个,修改后保存退出,出现以下页面
    3.png

    修改commit以后退出,就会出现下面页面
    4.png

    表示合并成功.
  3. git pull
    现在要拉取代码,以免覆盖别人的代码.

  4. git push
    提交代码,把本地修改提交到远程仓库,这样看到远程仓库就一条commit记录.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容