zoukankan      html  css  js  c++  java
  • 如何修改git commit的author信息

    本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只是提交记录里显示的是别的名字稍显别扭。

    举个例子:  查看提交日志,假设以a(a@email.com)提交了三次,发现提交用户错了,应该用b用户提交:

    $ git log
    # 输出如下
    commit 3 (HEAD -> branch1)
    Author: a <a@email.com>
    Date: Thu Nov 22 16:22:59 2018 +0800
    commit 3
    commit 2 (HEAD -> branch1)
    Author: a <a@email.com>
    Date: Thu Nov 22 16:22:59 2018 +0800
    commit 2
    commit 1 (HEAD -> branch1)
    Author: a <a@email.com>
    Date: Thu Nov 22 16:22:59 2018 +0800
    commit 1


    一、如何重置本项目用户信息

    $ git config user.name 'b'
    $ git config user.email b@email.com

    二、使用amend命令修改commit信息(注: amend命令只会修改最后一次commit的信息,之前的commit需要使用rebase)

    $ git commit --amend --reset-author

    三、如果需要修改历史提交消息,通过rebase操作

    $ git rebase -i HEAD~3        // 这个命令如果报错,请翻我博客,有解决方法

    # 输出如下
    pick 1 commit 1
    pick 2 commit 2
    pick 3 commit 3
    要修改哪个,就把那行的pick改为edit,然后退出。例如想修改commit 1的author,光标移到第一个pick,按i键进入INSERT模式,把pick改为edit:

    edit 1 commit 1
    pick 2 commit 2
    pick 3 commit 3
    ...
    -- INSERT --
    然后按esc键,退出INSERT模式,输入:wq退出,这时可以看到提示,可以修改commit 1的信息了:

    输入amend命令重置用户信息:  $ git commit --amend --reset-author

    会出现commit 1的提交记录及注释内容,可进入INSERT模式修改注释,:wq退出。

    这时再查看提交历史,发现commit 1的author已经变成b(b@email.com)了,且是最新一次记录。

    通过continue命令回到正常状态: $ git rebase --continue

  • 相关阅读:
    .Net组件程序设计
    Product Trader(操盘手)
    IOC 容器在 ASP.NET MVC 中的应用
    Visual Studio 2013发布Cloud Service至Azure China
    SignalR 2.0 入门与提高
    C# RFID windows 服务 串口方式
    Properties文件及与之相关的System.getProperties操作(转)
    使用ssh远程执行命令批量导出数据库到本地(转)
    关于Linux路由表的route命令(转)
    Can't call commit when autocommit=true(转)
  • 原文地址:https://www.cnblogs.com/651434092qq/p/11015901.html
Copyright © 2011-2022 走看看