我用错误的用户做了几次提交,所以我用这个脚本重命名了那个提交:
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="user2@example.com"
CORRECT_NAME="user1"
CORRECT_EMAIL="user1@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
git push --force --tags origin HEAD:master
在那之后,我检查 https://github.com/MIUSER/MYREPO/commits/master 并且我可以看到它有效:作者已正确更改。此外,我检查了 https://github.com/MIUSER/MYREPO/graphs/contributors,发现错误的作者已经消失。
但是当我转到 https://github.com/MIUSER/MYREPO 并检查右栏中的“贡献者”部分时,我仍然可以看到错误的作者。
我该怎么做才能解决这个问题?