欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

修改git commit的author信息实现方式

2025年07月28日 其他编程
修改git commit的author信息本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只是提交记录里显示的是别的名字稍显别扭。查看提交日志假

修改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信息

$ git commit --amend --reset-author

amend命令只会修改最后一次commit的信息,之前的commit需要使用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的信息了:

stopped at 1 commit 1
you can amend the commit now, with
    git commit --amend
once you are satisfied with tour changes, run
    git rebase --continue

输入amend命令重置用户信息

$ git commit --amend --reset-author

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

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

通过continue命令回到正常状态

$ git rebase --continue

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。