zoukankan      html  css  js  c++  java
  • Git修改提交历史中的作者及邮箱信息


    一、使用rebase

    如图,红圈中提交的用户名及邮箱是需要改的,则需要复制需要改的提交记录的上一个记录hashcode,在本例中就是a0a891a48f92b51201042fccbe61ed12646eda5e
    image

    git rebase -i a0a891a48f92b51201042fccbe61ed12646eda5e
    

    • 也可以用HEAD~步长的方式,但如果提交记录很久远的话,算步长就不太现实,所以更推荐hashcode写法
    git rebase -i HEAD~1
    
    • 如果整个仓库只有1次提交,即root提交,则需要用如下命令
    git rebase -i --root
    

    二、此时进入编辑界面,记录着commit的信息

    image

    三、修改需要修改的commit

    需要修改哪个commit就在行首将pick改为edit,在本例中则需要改第一行
    image

    四、保存退出

    wq保存退出之后会返回如下内容
    image

    五、修改用户名及邮箱

    git commit --amend --reset-author
    

    命令执行后会进入提交日志的编辑界面,我们仅需要修改用户名及邮箱,不需要修改提交日志信息,wq保存退出即可
    image

    接下来此次提交的作者及邮箱会被修改为--local级别的用户名及邮箱,若该级别没有设置,则会使用--global级别的用户名及邮箱

    • 如果不想使用已经设置好的用户名及邮箱的话,也可以手动指定用户名及邮箱:
    git commit --amend --author="otheruser <otheremail@qq.com>"
    

    六、结束rebase

    git rebase --continue
    

    再查看提交记录,可以看到提交的作者及邮箱已经改正了
    image

    七、同步到远程仓库上

    git push -f origin master
    


    尊重写作权利,转载请注明出处 ^_^
  • 相关阅读:
    PHP 上传文件限制
    vim设置golang语法高亮 (Centos)
    linux下安装配置go语言环境
    Vim升华之树形目录插件NERDTree安装图解(ubuntu)
    linux下配置Node.js环境
    RabbitMQ的使用(二)- RabbitMQ服务在单机中做集群
    RabbitMQ的使用(一)- RabbitMQ服务安装
    Exceptionless(二)
    Exceptionless
    SQL Server2012如何打开2016的profiler文件
  • 原文地址:https://www.cnblogs.com/convict/p/14897726.html
Copyright © 2011-2022 走看看