如何更新已经提交的commit的作者信息

1. 更新git配置的用户名和邮箱

$ git config --global user.name "zhangsan"
$ git config --global user.email "zhangsan@163.com"

2. 然后在一个特定的提交后重置所有提交的作者

$ git rebase -i 956951bf -x "git commit --amend --reset-author -CHEAD"

你可能会遇到如下错误信息:
提示:等待您的编辑器关闭文件… 错误:cannot run nvim: No such file or directory
错误:unable to start editor ‘nvim’

执行如下命令将默认编辑器修改为 vim, 重新输入上述命令

git config --global core.editor vim

3. 然后,您将看到您的编辑器,您可以在其中确认您想要更改的所有提交。

检查列表中的提交,输入“:wq”, 然后按enter来应用更改。

exec git commit --amend --reset-author -CHEAD
pick dff6526 1
exec git commit --amend --reset-author -CHEAD
pick 77099bb 1
exec git commit --amend --reset-author -CHEAD
pick 0fb3e9c 1
exec git commit --amend --reset-author -CHEAD
pick d4e8a6d 1111
exec git commit --amend --reset-author -CHEAD
pick 943c748 2222
exec git commit --amend --reset-author -CHEAD

# 变基 07e012f..943c748 到 07e012f(12 个提交)
#
# 命令:
# p, pick <提交> = 使用提交
# r, reword <提交> = 使用提交,但编辑提交说明
# e, edit <提交> = 使用提交,但停止以便修补提交
# s, squash <提交> = 使用提交,但挤压到前一个提交
# f, fixup [-C | -c] <提交> = 类似于 "squash",但只保留前一个提交
#                    的提交说明,除非使用了 -C 参数,此情况下则只
#                    保留本提交说明。使用 -c 和 -C 类似,但会打开
#                    编辑器修改提交说明
# x, exec <命令> = 使用 shell 运行命令(此行剩余部分)
# b, break = 在此处停止(使用 'git rebase --continue' 继续变基)
# d, drop <提交> = 删除提交
# l, label <label> = 为当前 HEAD 打上标记
# t, reset <label> = 重置 HEAD 到该标记
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       创建一个合并提交,并使用原始的合并提交说明(如果没有指定
# .       原始提交,使用注释部分的 oneline 作为提交说明)。使用
# .       -c <提交> 可以编辑提交说明。
# u, update-ref <引用> = 为引用 <ref> 设置一个占位符,以将该引用更新为此处的新提交。
#                       此 <引用> 在变基结束后更新。
#
# 可以对这些行重新排序,将从上至下执行。
#
# 如果您在这里删除一行,对应的提交将会丢失。
#
# 然而,如果您删除全部内容,变基操作将会终止。
#

完成后,你将看下如下信息:

 git rebase -i 07e012f9 -x "git commit --amend --reset-author -CHEAD"
正在执行:git commit --amend --reset-author -CHEAD
[分离头指针 4839672] 1
 3 files changed, 34 insertions(+)
 create mode 100644 src/main/java/com/example/demo/service/TeacherService.java
正在执行:git commit --amend --reset-author -CHEAD
[分离头指针 3812c5f] 1
 1 file changed, 1 insertion(+)
正在执行:git commit --amend --reset-author -CHEAD
[分离头指针 b1240d5] 1
 5 files changed, 48 insertions(+), 38 deletions(-)
 create mode 100644 src/main/java/com/example/demo/repository/TeacherCreteriaRepository.java
 delete mode 100644 src/main/java/com/example/demo/repository/UserSpecificationRepository.java
 delete mode 100644 src/main/java/com/example/demo/service/TeacherService.java
正在执行:git commit --amend --reset-author -CHEAD
[分离头指针 ba96393] 1
 1 file changed, 3 insertions(+)
正在执行:git commit --amend --reset-author -CHEAD
[分离头指针 51417d8] 1111
 1 file changed, 1 insertion(+)
正在执行:git commit --amend --reset-author -CHEAD
[分离头指针 aaed4d6] 2222
 1 file changed, 3 insertions(+)
成功变基并更新 refs/heads/tet。

最后check commit提交记录,你会发现已经成功修改
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值