如何修改git commit的author信息

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

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

$ 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日志


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

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

 

2、使用amend命令修改commit信息(注: amend命令只会修改最后一次commit的信息,以前的commit须要使用rebase)it

$ git commit --amend --reset-authoremail

 

3、若是须要修改历史提交消息,经过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:im

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

相关文章
相关标签/搜索