Github为什么没有记录你的Contributions

起因

今天看了下github,前几天commit的都没有记录,找了下原因,发现原来自己用的是公司项目commit的时候的邮箱,所以没有被记录。

如何排查

你可以在你的本地repo里用git log命令查看commit记录上的个人邮箱是否正确,我就是因为之前用的全局配置,都是xx@gmail.com ,但是其实我github上的邮箱是163的,所以Github就会认为这些commits都不是你提交的。

补救措施

以下为转载的解决办法。

  1. Mac、Linux下打开Terminal,Windows下打开命令提示符(command prompt)
  2. 给你的repo创建一个全新的clone
git clone --bare https://github.com/user/repo.git
cd repo.git
  1. 复制粘贴脚本,并根据你的信息修改以下变量: 旧的Email地址, 正确的用户名, 正确的邮件地址
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="旧的Email地址"
CORRECT_NAME="正确的用户名"
CORRECT_EMAIL="正确的邮件地址"
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
  1. 执行脚本
  2. git log 检查是否改过来了
  3. 把正确历史 push 到 Github
git push --force --tags origin 'refs/heads/*'
  1. 删掉刚刚临时创建的 clone
rm -rf repo.git

参考

结束!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容