美文网首页
Git rebase

Git rebase

作者: 小媛不见了 | 来源:发表于2019-08-26 20:07 被阅读0次

    背景:SourceTree使用过程中,用自己的邮箱提交了公司的项目,发现push失败。
    公司GitLab推送的时候会检查邮箱是否属于公司邮箱,所以需要修改自己邮箱为公司邮箱

    变基,是一连串命令的组合。

    参考:https://zhuanlan.zhihu.com/p/65561851,这个写的很详细,还包含了过程中sourcetree的界面,但是有一点 是不正确的,所以这里会纠正一下;

    git rebase -i
    执行后,会打开最近一条的提交记录

    git rebase -i [startpoint] [endpoint]

    其中-i的意思是--interactive,即弹出交互式的界面让用户编辑完成合并操作,[startpoint] [endpoint]则指定了一个编辑区间,如果不指定[endpoint],则该区间的终点默认是当前分支HEAD所指向的commit(注:该区间指定的是一个前开后闭的区间)。

    假设需要修改最近两次提交的邮箱:
    git rebase -i e0585da 如果以第二条commit ID作为startpoint 只会得到最新的一次提交记录,因为区间是前开。
    That means after(>) startpoint, so what's the right way?
    git rebase -i cffb707 or git rebase -i cffb707 ba419e9

    image.png

    rebas之后会出现一个文件,其实就是类似Linux文件。


    image.png

    pick修改为edit,然后:wq

    You can amend the commit now, with
    ​
      git commit --amend 
    ​
    Once you are satisfied with your changes, run
    ​
      git rebase --continue
    chengmingdeMacBook-Pro:server cmlanche$ 
    

    接下来:git commit --amend --author="xiaosi <xiaosi@alibaba.com>"
    注意:姓名与邮箱之间有一个空格,之前看博客说需要空格,待验证

    最后:git rebase --continue

    总结三步:
    1.git rebase -i
    2.git commit --amend --author="xiaosi <xiaosi@alibaba.com>"
    3.git rebase --continue

    相关文章

      网友评论

          本文标题:Git rebase

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