美文网首页
Git rebase命令 - 修改以前提交记录

Git rebase命令 - 修改以前提交记录

作者: None_Ling | 来源:发表于2021-05-29 14:41 被阅读0次

    问题简述

    在某个分支开发Feature过程中,可能在N次前的某个提交中需要修改用户名,而该分支已经Push到远端。

    此时可以在本地分支通过git rebase -i的方式来指定修改某条Commit,修改完后,通过push --force强行同步给远端进行修改。

    修改方案

    1. 使用git rebase -i HEAD~n进行修改,此时终端会展示出来从n次前修改到现在的Commit记录。

      git rebase -i Head~2
    2. 将对应commit前的标识从pick改为edit,代表在rebase的过程中该次Commit需要修改。

      image.png
    3. 在修改完后通过wq保存起来,然后开始对每个标记edit的commit进行提交

    4. 通过git commit --amend -author "xx"修改该次提交

    5. 修改完后,通过git rebase --continue完成rebase操作,在本地完成修改

    6. 通过git push --force-with-lease origin remote将本地的提交完全同步到远端

    注意事项

    1. 由于该操作会将该N次提交通过产生新提交的方式进行修改,所以最好是force push,否则会产生Merge的操作。
    2. 在rebase前,本地与远端分支最好先pull,保证该分支代码与远端分支,否则在强制push到远端后会有部分提交被覆盖

    相关文章

      网友评论

          本文标题:Git rebase命令 - 修改以前提交记录

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