Git贡献在GitHub上没有显示

9

我阅读了你提供的文章https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/,以解决我的贡献没有显示在我的个人资料中的问题。

总而言之:

  • 我正在将提交推送到自己的存储库主分支,并且我可以在GitHub上看到这些提交,但它们没有被添加到我的贡献中。
  • 已经过去超过24小时并且在多个目录中。不,我推送提交的任何存储库都没有被forked。
  • 没有其他贡献者对给定存储库进行贡献,所以我可以推送提交。

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

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

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


除了已经在答案中提到的所有内容之外,请注意图表仅显示对DEFAULT分支进行的提交。 - Valentino
4个回答

14
请检查您的git config user.namegit config user.email
你的user.name应该是irohitb,对应你的GitHub账户
你提到的仓库提交(commit 0733750)显示:

Rohit Bhatia作为作者并且Rohit Bhatia在4天前进行了提交

在这两种情况下,GitHub都没有显示到github.com/irohitb的链接,这意味着user.name或者user.email与你的GitHub登录名或邮箱不匹配。
要纠正这种情况,你需要更改过去提交的作者信息
请参考这个例子

2
GitHub仅使用提交者的电子邮件地址来确定他们的“身份”。
如果您使用多个电子邮件地址,您可以在 GitHub设置页面上添加所有这些电子邮件地址。
请注意,您必须验证要添加的每个电子邮件地址:因此,您只能添加有效(即:被公共邮件服务器接受)的电子邮件地址。像<Rohit@Rohits-MacBook-Pro.local>这样的地址无法验证,因此您无法添加它(您应该使用git config user.email来设置有效的电子邮件地址)。 专业提示:您可以使用git config --global user.email为所有存储库设置用户电子邮件,而不仅仅是您当前正在使用的存储库(存储库本地配置将覆盖全局设置)。

1

再试一遍:

git config --global user.name "usuario"

git config --global user.email "email@email.com"

就这么简单...我也遇到过一次...


1
在某些情况下,您计算机上的 git 配置可能有错误的电子邮件地址。在我的情况下,由于某种原因,它被设置为计算机名称,因此甚至不是电子邮件。要检查这一点,请转到显示图形中未显示提交的提交,并在 URL 末尾添加“.patch”。这将显示提交者的电子邮件地址。
要更改您的提交的作者信息,您可以按照此 github 上的帮助文章。它具有一个脚本,将重写所有提交的历史记录并修复作者/提交者信息。
从该文章中得知:

警告:此操作会破坏仓库的历史记录。如果您正在与其他人合作使用仓库,则重新编写已发布的历史记录被视为不良做法。您应该只在紧急情况下执行此操作。

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

注意:运行此脚本会为所有仓库协作者重写历史记录。完成这些步骤后,拥有 forks 或 clones 的任何人都必须获取重写的历史记录并将任何本地更改变基到重写历史记录中。

文章中的步骤:
  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


使用.patch非常有帮助。我正在设置MacBook Pro,我的主要开发机器是Mac Mini。在设置新机器的git配置时,我只使用了我的用户名,这是不正确的(例如,不是与我的用户GitHub关联的电子邮件地址)。一旦我将user.email更新为正确的电子邮件地址(该地址已被屏蔽,我使用了屏蔽的地址,与我从主机器提交的普通提交相同),我的个人资料再次开始注册活动,无需担心其他任何事情。感谢您的答案! - twknab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接