不小心在本地使用了别的名字做了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
发表评论
相关文章
想了解服务发现、配置管理的同学,欢迎加入1000人Consul交流群:234939415
扫码关注公众号:萤火架构
文章分类
最新评论