git修改已经提交的用户名和邮箱

该方案针对未push到远程仓库的commit提交

# 第一步,(n)代表提交次数
git rebase -i HEAD~n
 
# 第二步然后按`i`编辑,把`pick` 改成 `edit`,按'Esc'退出编辑,按`:wq`保存退出
 
# 第三步
git commit --amend --author="作者 <邮箱@xxxx.com>" --no-edit
 
# 第四步
git rebase --continue
 
# 第五步
git push --force

该方案针对已经push到远程仓库的commit提交,亲测有效

# 一、查看提交记录,找到想要修改的commit id
$ git log
$ q // 退出

# 二、进入提交记录
$ git reset --soft [版本号]

#三、修改
$ git commit --amend --author='用户名 <邮箱>'
修改完按Esc:wq退出

四、提交
$ git push --force --tags origin 'refs/heads/*'

如果出现:[remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to XXXXXXXX

将分支改为非保护分支,并且允许强制推送即可。

本文参考:
https://www.itcan.cn/2021/12/26/git-reset-user-email/
https://blog.csdn.net/HDFQQ188816190/article/details/118094900

你可能感兴趣的:(解决清单,git)