美文网首页
七、git合并多次提交

七、git合并多次提交

作者: 緦菍亭芷 | 来源:发表于2019-11-01 15:37 被阅读0次

    在开发中我们需要保持远程仓库清洁,不希望本地开发多次提交信息都提交到远程仓库;

    第一种方法:git rebase -i

    在终端输入: git rebase -i HEAD~2 这里的 HEAD~2 表示合并最近两次的提交, 如果想合并最近三次的提交修改为: git rebase -i HEAD~3

    touch a.txt
    git add .
    git commit -m "first"
    touch b.txt
    git add .
    git commit -m "second"
    

    查看version controll


    分支信息
    1. 这时候本地feature分支有2条提交信息了,现在我们想合并一条提交到远程仓库
    git rebase -i HEAD~2
    
    image.png
    1. 将第二行的 pick 改为 s “s” 为 “squash” 的缩写
      “squash” 的意思是 将倒数第二次提交 压缩为最后一次提交
    image.png
    1. :wq!保存


      image.png

    4.重新修改提交信息


    image.png
    1. :wq!保存,查看version controll


      image.png
    2. push到远程仓库

     git push -u origin feature
    

    第二种方法:git commit --amend

    这种方式就是把本次想要提交的和上次合并一个

    touch a.txt
    git add .
    git commit -m "test amend"
    touch b.txt
    git add .
     //会提示你重新修改描述信息,根据你自己来决定
    git commit --amend 
    

    第三种方法:git reset

    参考:五、git reset
    查看刚开始verison controller

    image.png
    touch c.txt
    git add .
    git commit -m "test reset"
    
    image.png
    git reset --soft 64abeb0c
    #这时候64abeb0c前的提交都是未暂存状态
    git add .
    git commit -m "new test reset"
    
    image.png

    相关文章

      网友评论

          本文标题:七、git合并多次提交

          本文链接:https://www.haomeiwen.com/subject/apbfbctx.html