Git贡献未显示在GitHub上

时间:2018-09-02 12:06:27

标签: git github

我浏览了您的下一篇文章https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/,因为其贡献没有显示在我的个人资料中。

至少可以说。

  • 我在自己的存储库主分支上推送提交,我可以 在GitHub上查看这些提交,但未将它们添加到我的 贡献。
  • 已经超过24小时,并且在多个目录中。不,没有 我推送的存储库中的分支是分叉的。

  • 他们不是给定存储库的贡献者,因此我可以推送 提交。

[问题:] ?有人可以告诉我我在做什么错吗?或如何解决?

我的git存储库为:https://github.com/irohitb

示例:考虑这个存储库-> https://github.com/irohitb/Crypto,这里说最后一次提交是在4天前推送的,但是在我的贡献中,它没有显示我上周所做的任何贡献

3 个答案:

答案 0 :(得分:4)

检查您的git config user.namegit config user.email

您的用户名应为GitHub account后的irohitb

您提到的回购协议(commit 0733750)的提交显示:

  

Rohit Bhatia是作者,Rohit Bhatia是4天前提交的

在这两种情况下,GitHub均未显示指向github.com/irohitb的链接,这意味着user.name或user.email与GitHub帐户的登录名/电子邮件不匹配。

您需要change the author of your past commits来纠正这种情况。
参见this example

答案 1 :(得分:0)

GitHub仅使用提交者的电子邮件地址 来确定其“身份”。

如果您使用多个电子邮件地址,则可以将它们全部添加到GitHub's Setting page上。

请注意,您必须验证要添加的每个电子邮件地址:因此,您实际上只能添加有效的(例如,公共邮件服务器接受的)电子邮件地址。无法验证<Rohit@Rohits-MacBook-Pro.local>之类的地址,因此您无法添加它(而应使用git config user.email设置有效的电子邮件地址。)

PRO提示:您git config --global user.email设置所有存储库的用户电子邮件,而不仅仅是您当前正在使用的电子邮件(存储库本地配置将覆盖全局设置)。

答案 2 :(得分:0)

在某些情况下,您计算机上的git配置可能使用了错误的电子邮件地址。就我而言,由于某种原因,它被设置为计算机名称,因此甚至都没有电子邮件。要检查这一点,请转到图中未显示的提交,然后在URL的末尾添加“ .patch”。这将向您显示提交者的电子邮件地址。

要更改有关提交的作者信息,可以遵循此help article on github。它具有一个脚本,它将重写您所有提交的历史记录并修复作者/提交者信息。

摘自文章:

  

警告:此操作对存储库的历史记录具有破坏性。如果您正在与其他人在存储库上进行协作,则重写已发布的历史记录被视为不好的做法。您只应在紧急情况下这样做。

任何合作者都必须获取新的历史记录。

  

注意:运行此脚本将重写所有存储库协作者的历史记录。完成这些步骤后,任何拥有分叉或克隆的人都必须获取重写的历史记录,并将所有本地更改重新建立到重写的历史记录中。

文章中的步骤:

  1. 创建一个新的裸克隆git clone --bare https://github.com/user/repo.git
  2. 复制并粘贴脚本,根据您收集的信息替换以下变量:

    OLD_EMAIL CORRECT_NAME CORRECT_EMAIL



    git filter-branch --env-filter '

    OLD_EMAIL="your-old-email@example.com"
    CORRECT_NAME="Your Correct Name"
    CORRECT_EMAIL="your-correct-email@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