当前位置:   article > 正文

使用git rebase合并多次提交记录_合master前合并多次push

合master前合并多次push

背景

我们在编写代码的时候,经常为了避免代码丢失,是单次修改后直接commit并push的。这样做就会导致在git里面看到多次commit的记录。
如下如所示:
多次commit记录示例图
但是其实我们的改动在合并到master分支的时候, 别人只要看到一条commit记录就好了。所以我们需要整合多次commit的记录。

方法

  1. 首先确保当前分支是你修改的分支。 如果不是可以使用如下命令切换: git checkout 你的分支名称

  2. 查看当前分支的历史提交日志。命令:git log
    git log示例图
    我们可以看到有2次commit记录,有点冗余。我们需要把这两次commit记录合并成一条。
    注意:在查看log页面,如果需要退出,键盘按q即可。

  3. 合并前2次commit记录。命令:git rebase -i HEAD~2
    git rebase -i HEAD~2后的界面
    上图所示的界面是VIM模式,想要输入按一下insert键或者i键就可以进入输入状态了。

  4. 保留第一次commit的记录,其他commit记录修改pick为s, 然后保存退出。
    操作VIM
    注意:如果需要退出编辑页面,需要按esc键,然后输入:wq回车就会保存退出。

  5. 注释掉不需要的commit记录
    这时候会进入第二个vim页面,这里让我们再次修改commit message的。就是合并后的message。
    跳转后的界面
    注释掉不需要的commit记录
    注意:如果需要退出编辑页面,需要按esc键,然后输入:wq回车就会保存退出。

  6. 成功合并提交记录。
    合并commit记录成功

  7. 同步操作到远程git仓库。命令:git push --force

命令成功示意图
远程分支成功示例图

另外,如果想放弃这次压缩,可以执行命令:git rebase --abort。 注意:如果已经合并成功并推送到远程分支,此命令无效。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号