美文网首页
Github为什么没有记录你的Contributions

Github为什么没有记录你的Contributions

作者: 小峰哈 | 来源:发表于2019-03-27 12:53 被阅读0次

    起因

    今天看了下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
    

    参考

    结束!

    相关文章

      网友评论

          本文标题:Github为什么没有记录你的Contributions

          本文链接:https://www.haomeiwen.com/subject/vwsavqtx.html