[git] 合并多次commit记录

294 阅读1分钟

应用场景:一个功能,修改了多次,相对于commit了几次,但是功能只是完成了一个,此时需要合并分支,然后需要把多次提交记录总结成一个功能记录提交

  1. git log 查看提交记录

  2. 找到此功能第一次commit记录的上一条记录,因为此不会参与合并 git rebase -i commit编号

  3. 此时会弹出编辑框

    pick 7dbba7b 历史搜索第三版
    pick 56f27c0 历史搜索第二版
    pick 91bfbb8 历史搜索第一版
    

    然后进入编辑状态 将pick 修改为s (你要修改哪条,就把哪条的pick修改为s)

    s 7dbba7b 历史搜索第三版
    s 56f27c0 历史搜索第二版
    s 91bfbb8 历史搜索第一版
    

    然后报错退出 :wq

  4. 此时会再次弹出编辑框

     #这是一个三个提交的组合
     #这是第一个提交说明
    
     历史搜索第三版
    
     #这是第二个提交说明
    
     历史搜索第二版
     
     #这是第三个提交说明
    
     历史搜索第一版
     
     # 请为您的变更输入提交说明,已 '#' 开始的行将被忽略,而一个空的提交
     
    

      历史搜索功能最终版
     
     # 请为您的变更输入提交说明,已 '#' 开始的行将被忽略,而一个空的提交
     
    

    修改完成后 保存退出 :wq

  5. 此时再使用git log 查看 本地的提交 已被合并修改

  6. git push -f 直接强推到线上即可修改合并commit