美文网首页
git rebase

git rebase

作者: _RG | 来源:发表于2020-11-03 15:01 被阅读0次

    git rebase 可以用来合并commit

    应用场景: 当对某一个功能进行多次修改,并在本地进行多次commit时, 在push到远程的时候,为了让分支看起来简洁明了,可以将本地的多次commit 合并成一次commit, 进行远程push

    例如本地进行了2次提交


    aaaa.png

    其中后面两次修改TestView是做的同一件事情, 在push之前可以先进行合并

    可以使用 git rebase -i HEAD~2 命令编辑合并操作, 后面的数字如果是3就表示合并当前最后3次提交

    aaaaa.png

    pick:保留该commit(缩写:p)
    reword:保留该commit,但我需要修改该commit的注释(缩写:r)
    edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
    squash:将该commit和前一个commit合并(缩写:s)
    fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
    exec:执行shell命令(缩写:x)
    drop:我要丢弃该commit(缩写:d)

    这里只能将 pick c953922 再次修改TESTView改为s c953922 再次修改TESTView, 表示将它和前一次提交进行合并,由于pick f7aa123 修改TestView的前一次提交没有包含在当前编辑的范围。

    abbb.png

    编辑完成,退出编辑,会进入到重新编辑的 注释页面,可以对每次提交的注释进行修改

    abc.png

    messagemessage #2: 后面的注释可以重新编辑,编辑后退出,就会显示合并结果

    abcd.png

    进行git log 查看,可以看到两次提交合并成了一次提交,注释也进行了合并


    abcdf.png

    注意: 如果合并时出错, 会生成一个新的分支,可以使用git rebase --abort取消合并,重新操作

    abcdfgh.png

    相关文章

      网友评论

          本文标题:git rebase

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