修改了 Github 的主要邮箱后,发现提交 commit 无法显示头像:
使用以下方法即可修正 Git Commit:
1 在 Git 项目的根目录下保存以下代码到文件 git-author-rewrite.sh
:
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
请修改以下的三个变量:
OLD_EMAIL
- 旧的邮箱CORRECT_NAME
- 新的用户名CORRECT_EMAIL
- 新的邮箱
2 修改完成后保存,命令行运行:
sh git-author-rewrite.sh
会得到类似输出:
Rewrite fe8d886a0ba19fabd69190efcbff696e8bf3ce6b (1094/1123) (27 seconds passed, remaining 0 predicted)
Ref 'refs/heads/blog' was rewritten
Ref 'refs/heads/master' was rewritten
3 查看是否正确修改:
git log
4 确定没问题后,删除脚本文件:
rm -f git-author-rewrite.sh
5 提交变更到 Github 上:
git push --force --tags origin 'refs/heads/*'
done