波斯马BOSSMA Information Technology

修改Github中提交人的名字

发布时间:2021年8月3日 / 分类:Tools / 4,229 次浏览 / 评论

不小心在本地使用了别的名字做了git提交,并push到了Github,这个名字和Github帐号的名字不同,导致贡献没有被统计到。这里提供一个方法来进行修改,一共两个步骤。

1、在仓库目录执行名字替换命令

git filter-branch -f --env-filter '

OLD_EMAIL="bossma@yeah.net"
CORRECT_NAME="bosima"
CORRECT_EMAIL="bosima@126.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是修正后的邮箱。

命令的逻辑很简单,找到用错的用户,然后用正确的名字和邮箱进行替换。如果不能完全符合你的逻辑,可以试着修改下,比如这里比较的是EMAIL,你可以改成比较NAME。

2、push到Github

 git push --force --tags origin 'refs/heads/*'

执行完这两个命令,再去Github看看,贡献已经被统计到了。


后记:如果被误使用的用户也是Github上的注册帐号,即使仓库中已经没有他的贡献代码,但仓库的贡献者列表中可能还能看到它,这时候如果想彻底清理掉它,可以把这个误使用的用户注销,当然前提是这个用户没有什么使用价值了。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《修改Github中提交人的名字

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

发表评论