关于git:变更Github上历史commit的用户名和邮箱的方法

46次阅读

共计 670 个字符,预计需要花费 2 分钟才能阅读完成。

环境

  • Window 10
  • Git Bash

先确认历史记录

谬误的用户名是 wrongName,邮箱是 wrongMail@example.com

git log --pretty=full

commit 000111000111000111000 (HEAD -> master, origin/master)
Author: wrongName <wrongMail@example.com>
Commit: wrongName <wrongMail@example.com>

变更办法

设置正确的用户名

newName=correctName

设置正确的邮箱

newEmail=correctMail@example.com

批改本地 git 的提交信息

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='$newName'; GIT_AUTHOR_EMAIL='$newEmail'; GIT_COMMITTER_NAME='$newName'; GIT_COMMITTER_EMAIL='$newEmail';" HEAD

再确认历史记录,发现曾经被批改为正确的了

git log --pretty=full

commit 000111000111000111000 (HEAD -> master, origin/master)
Author: correctName <correctMail@example.com>
Commit: correctName <correctMail@example.com>

GitHub

强行 push,把方才批改的提交到 github

git push -f

正文完
 0