商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 修改gitcommit的author信息实现方式

修改gitcommit的author信息实现方式

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

修改git commit的author信息

本地有多个git账号时,很容易出现这种情况:某个项目忘记设置专属账号,结果提交时用了全局账号。其实代码本身没问题,就是提交记录里的名字看着不太对劲。下面说说怎么改回来。

查看提交日志

先看看当前提交记录。假设你发现最近三次提交都是以 a(a@email.com) 的身份提交的,但实际应该用 b 用户——那么具体怎么操作呢?

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

commit 2 (HEAD -> branch1)
Author: a 
Date: Thu Nov 22 16:22:59 2018 +0800
    commit 2

commit 1 (HEAD -> branch1)
Author: a 
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 就行。但这里需要改前三次,所以得用 rebase。

$ git commit --amend --reset-author

amend 只改最近一次提交,之前的提交得用 rebase 来处理:

$ git rebase -i HEAD~3
# 输出如下
pick 1 commit 1
pick 2 commit 2
pick 3 commit 3

打算改哪个提交,就把对应行的 pick 改成 edit,然后保存退出。比如想改 commit 1,光标移到第一行,按 i 进入插入模式,把 pick 改为 edit

edit 1 commit 1
pick 2 commit 2
pick 3 commit 3
...
-- INSERT --

Esc 退出插入模式,输入 :wq 保存退出。这时终端会提示:

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 的提交信息和注释。你可以按需修改注释(同样按 i 进入插入模式修改,:wq 保存退出)。

$ git commit --amend --reset-author

退出后,再查看提交历史,会发现 commit 1 的 author 已经变成 b(b@email.com) 了,而且它现在是最近的一条记录。

通过continue命令回到正常状态

最后别忘了执行 git rebase --continue,让 rebase 流程正常结束。

$ git rebase --continue

总结

整个流程其实不复杂:先设好项目级别的用户信息,然后通过 rebase 的 edit 模式逐个修改目标提交,最后用 continue 收尾。记住,amend 只改最近一次,想改更早的提交就得靠 rebase 了。

本文转载于:https://www.jb51.net/program/346294ubj.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注