GitHub提交未记录在“您的贡献”日历中


94

我一直在GitHub从Linux shell到我的仓库进行连续提交,它们以应有的方式很好地显示在网站上。唯一的问题是“您的贡献”部分没有显示任何近期活动。我从11月的某天开始有一个绿色方块,我不知道我怎么得到的,但是其他所有捐款都没有出现在日历中(但同样,它们确实 出现在其回购中。
在这里我想念什么?

我的github网站


1
您是否致力于私人回购?
madhead 2013年

不,我所有的回购都是公开的
Roey Angel 2013年

2
对于Web应用程序(因为它不处理编码而是接口/帐户的工作方式),这个问题更合适,或者直接指向GitHub:Support
随机

实际上,@ harsh给出了最佳答案
Ali Saberi

Answers:


48

这是一个Github问题,有时它们的更新机制不起作用,而变成了“过时的缓存”。这没什么大不了的,只需发送电子邮件至support@github.com描述问题,他们会立即解决。


2
Github现在要求,使用其支持网站创建新的支持请求: support.github.com/contact
Naren

70

来自git

我刚刚看到了您对GoTime2存储库的贡献,看来您一直在将提交推送到layout分支。

这些贡献未显示的原因是,我们仅在对存储库的默认分支或gh-pages分支进行提交时跟踪提交贡献:

https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile#which-contributions-counted

将您的文稿合并到默认页面或gh-pages中后,您将在创作日期将其记为功劳。

因此,就我而言,我必须将“布局”分支与“主”分支合并,才能在日历中看到“您的捐款”。


2
我经常在自己的分支机构工作,然后合并到“ master”分支,但我的贡献仍然没有出现。有任何想法吗?编辑:由于某种原因,我的电子邮件地址在我用来管理git存储库(SourceTree)的应用程序中设置为其他电子邮件。我已将该电子邮件地址添加到我的GitHub帐户中,但仍然看不到任何更改。我希望他们花一些时间来重新计算统计数据。
robert.bo.roth 2014年

4
@ robert.bo.roth〜“链接电子邮件后,您可能需要联系支持人员,以便他们回填您以前的文稿。” 来源-git.io/NtUV5A
ikaruss 2014年

如果我将提交提交到另一个分支,然后仓库的所有者将它们合并到master分支中,该怎么办?我的捐款会记录在“您的捐款”日历中吗?
soshial

太晚了,所以您现在可能知道了,但是如果这对其他任何人都有利:@soshial是的,情况是这样的:)据我所知,它在合并后回溯并确认。
Ashley Davies

我也一样。合并到默认分支后,贡献立即显示。谢谢
netishix

69

对我来说,这个问题是由于我在我的工作计算机上提交的,原因是我在gitconfig中使用其他电子邮件。将我的工作电子邮件地址添加到我的github帐户中并没有使过去的提交显示在摘要中,但是现在可以按应有的方式显示新的提交。

您可以通过找到用于存储库的电子邮件地址git config user.email


4
我有同样的情况,这很奇怪,如果他们将提交附加到userid而不是Email上,我们可以更改。
张明涛

1
这是最可能的答案-即使提交和PR都进行得很好,我也已经看到了这种情况
planetguru 2014年

非常感谢-这正是我正在发生的问题。做了一个git config user.email <my email>并推送了一个提交,现在它正在跟踪我的提交。接下来,我将写给他们支持,因为我工作了14个小时,做了一个新的仓库并编写了完整的Alpha版本,但是我只针对与它有关的问题进行活动。
来自Qaribou的Josh,2014年

@turtlemonvh可以将不同的电子邮件链接到不同的存储库。因此,如果您使用工作计算机,但有一个个人项目存储库“ personal_project”和另一个存储库“ work_project”,则可以为它们两者分别配置电子邮件ID。转到终端上的repo目录,然后执行以下操作 $pwd personal_project $git config user.email "your personal email" $pwd work_project $git config user.email "work email"。应该正确计算您的贡献。
Chaitra Suresh 2014年

这可能是应该接受的答案。仅供参考,您可以更改git的历史记录。这是来自github的说明:changeing -author-info
2015年



12

“您必须使用与登录github帐户时相同的电子邮件ID提交更改”

怎么解决:

  • 使用以下命令更改所有存储库的全局电子邮件ID。

git config --global user.email abc@xyz.com

  • 或更改一个特定存储库的电子邮件ID。从特定的存储库内部运行以下命令

git config user.email abc@xyz.com

  • 或者在存储库中打开.git / config文件并进行编辑

电子邮件= abc@xyz.com名称= abc

其他原因可以在这里找到 https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/


11

确保您的本地电子邮件与帐户中的电子邮件完全相同。

转到终端并在您要提交的文件夹内运行:

git config --global user.email
  #=> TRICULI.TO@MAIL.com

git config --system user.email
  #=> 

git config --local user.email
  #=> triculito@mail.com

我发生了类似的事情。我帐户中的电子邮件是--global中的电子邮件,但我的--local电子邮件中的电子邮件则略有不同,没有“。”。

(在Gmail中,这些电子邮件之间没有区别,它们的工作原理完全相同)。


1
这对我有用。我的全局消息是正确的,但系统和本地电子邮件为空。添加了这两个,现在我的提交出现了。
KellyCode

10

因此这通常是由于很多因素而发生的,您必须访问此GitHub帮助

我发现的最常见错误是:

  1. 电子邮件未在本地计算机上正确配置。(您的笔记本电脑/电脑)。
  2. 分叉。
  3. 不使用default或gh-pages分支进行提交。

我个人最近有问题1,为此我去了terminal / cmd / cli并通过运行此命令在本地配置我的电子邮件地址

git config --global user.email yourname@email.address

完成后,尝试再次运行此配置,如下所示:

git config --global user.email

您应该能够看到:

yourname@email.address

如果这是正确的,则说明您已使用全局公共存储库成功配置了本地计算机。现在,您的下一次提交将记入您的日历。


感谢您修复@aasmin ali
geekidharsh,

7

也许Github已经解决了这个问题。有一种简单的方法,转到github.com电子邮件设置:https : //github.com/settings/emails

个人设置->电子邮件

您可以在此处添加电子邮件地址,并通过发送验证链接来验证较新的电子邮件地址,然后您会发现以前的提交都记录在“您的捐款”日历中。而且此电子邮件验证还将使您能够从GitHub接收通知和密码重置。

您的新电子邮件地址将用于与帐户相关的通知(例如,帐户更改和账单收据)以及任何基于Web的GitHub操作(例如,编辑和合并)。


很高兴看到我所有的辛苦工作终于再次显示出来... :)

这就是我所做的,并且像魅力一样起作用。我看到了所有我以为是“缺失”的旧承诺!
Afflatus

我已经做到了 但是仍然看不到我在图表上的工作。:(我错过了什么吗?then you will find your previous commits are all recorded in the 'Your Contributions日历`<-这句话似乎不正确。这一步骤是否需要时间?
Michael Harley

通过联系Github的支持,我已经解决了我的贡献问题。是的,我已经检查了我的电子邮件地址是否正确。
迈克尔·哈雷

6

我在iOS开发的Xcode 9中遇到了相同的问题。

在Github中,我注意到一位非撰稿人。 在此处输入图片说明

即使我在Xcode中进行了提交。“您的捐款”日历中没有任何捐款。

解:

全局更改提交者名称和电子邮件
用于提交的电子邮件地址必须与您的GitHub帐户相关联。

在终端中:

$ git config --global user.name "Full Name"
$ git config --global user.email "fullname@gmail.com"

另请参阅GitHub Help:在Git中设置提交电子邮件地址


4

在看到许多提交(新提交已正确显示)后添加到我的组织中的私人回购上的提交归因时,我遇到了问题,并且只能通过从我的个人资料中删除电子邮件地址来显示它们,然后重新添加相同的电子邮件地址。

似乎这样做解决了GitHub内部的缓存问题。


4

原来我以前在GitHub上更改了电子邮件地址,但也忘记了更改本地地址。


2

我有同样的问题,这对我有用:GitHub贡献检查器,下面的链接。安装后,该程序将检查您最近提交的有效性,并为您提供规则列表,其中未满足红色的规则/规则。

我的问题是GitHub使用Cygwin终端名称作为电子邮件地址,因此我只是将Cygwin终端名称添加到我的个人资料中,所有最近的提交都添加到了GitHub日历中。

您的承诺将不算作贡献!检查以下详细信息: https : //github.com/jdennes/contribution-checker


2

即使git config配置了正确的电子邮件地址,我也必须手动将电子邮件添加到SourceTree设置中。只有这样做之后,GitHub才开始记录我对贡献图的提交。

SourceTree设置截图



2

我有同样的确切问题,原来是因为本地git上的电子邮件与我的GitHub帐户上的电子邮件不匹配。

要在本地计算机上更新电子邮件,请执行以下操作:

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

验证所有提交都在github上进行了更新,如果没有,则可以通过单击提交并在提交url的末尾添加“ .patch”,检查单个提交以查看与该提交关联的电子邮件,如下所示:

https://github.com/username/repoName/commit/9fbe83f71cfc3503.patch

现在您要做的就是将看到的电子邮件添加到您的帐户中(不需要验证)。

再次检查提交,您应该看到您的用户名并记入:)


2

GitHub明确说明了他们如何在其帮助中衡量您的贡献:

  • 问题和请求请求:

    • 仅当它们在独立存储库中打开,而不是在fork中打开时
  • 承诺:
    仅当它们满足以下所有条件时:

    • 用于提交的电子邮件地址与您的GitHub帐户相关联

    • 提交是在独立存储库中进行的,而不是在fork中进行的

    • 提交了:

      • 在存储库的默认分支(通常是主目录)中
      • 在gh-pages分支中(用于包含项目站点的存储库)

    此外,以下至少一项必须为真:

    • 您是存储库上的协作者,或者是拥有存储库的组织的成员
    • 您已分叉存储库
    • 您已在存储库中打开拉取请求或问题
    • 您已为资料库加注星标

注意:进行符合要计为贡献的要求的提交后,您可能需要等待长达24小时才能看到该贡献出现在您的贡献图中


1

我刚刚通过命令行再次添加了电子邮件,它解决了这个问题:

$ git config user.email "myemil@mydomain.com"

另一个问题是关于您的分支机构的。如果您在maser旁边创建另一个分支并尝试推送该分支,则可能会发生此问题。就我而言,我已开始努力掌握并获得解决方案。


1

我遇到了同样的问题,解决方案非常简单。我为全局电子邮件配置设置了错误的电子邮件

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

只要确保上述电子邮件和您的GitHub帐户电子邮件相同


1

我通过在本地环境中使用GitHub配置文件的用户名作为git用户名解决了类似问题。

举例来说

https://github.com/susithrj

在本地git配置中将全局用户名设置为susithrj

git config --global user.name“ susithrj”


0

我最近不得不恢复笔记本电脑,却忘记了将电子邮件重新配置为git。我的笔记本电脑用户名看起来与git one相似,所以我只是盲目地认为自己的提交被正确地赋予了属性。发布后,您可以更改全局电子邮件设置。但是,如果您想更正项目上未归因的提交,则可以使用此运行此脚本来创建一个别名gca,该别名可以在git项目目录中运行,以更改过去提交的作者身份。

~目录中,添加:

$ cat <<EOF >> ~/.aliases
 function git_change_authorship {
 git filter-branch -f --env-filter "
  GIT_AUTHOR_NAME=\"\$1\"
  GIT_AUTHOR_EMAIL=\"\$2\"
  GIT_COMMITTER_NAME=\"\$1\"
  GIT_COMMITTER_EMAIL=\"\$2\"
 "
 }
 alias gca=git_change_authorship
 EOF

 $ source ~/.aliases

然后在您的git project目录中运行 gca <git username> <git email address>

当心!我仅在我自己的个人项目中使用过它,而我一直是我的唯一提交者。尚未有通过小组项目进行测试的机会,因此请谨慎进行。


0

我检查了存储库的“ Insights”部分/选项卡,而不是我的当前用户,而是一个匿名用户(也是我),因此我将当前计算机中的电子邮件配置更改为我使用github的计算机。如上所述。

斯尼格斯


0

您可以将电子邮件设为不公开,但捐款仍会显示在日历中。您可以从github电子邮件设置中选择不公开电子邮件地址,并在git配置中 使用github noreply电子邮件地址

git config user.email "xxxxxxxxxxx@users.noreply.github.com"

注意

对我来说,我选择从github电子邮件设置中保留我的电子邮件的私密性。这给了我一个错误

Your push would publish a private email address.

同时尝试推送至我的仓库。我删除了电子邮件。推送成功之后,但是捐款没有记录在我的日历中。

如GitHub在电子邮件设置页面中所述

当执行基于Web的Git操作(例如,编辑和合并)并代表您发送电子邮件时,我们将删除您的公开资料电子邮件,并使用xxxxxxxxxxx@users.noreply.github.com。如果要命令行Git操作使用私人电子邮件,则必须在Git中设置电子邮件


0

遇到同样的问题,我的问题是通过设置电子邮件来解决的

git config --global user.email jonathan.m2ndoza@gmail.com

希望这可以帮助。


0

github上的“贡献日历”或“活动概述”仅记录与github帐户中记录的邮件地址相关的提交。

更改所有将来提交的邮件地址

正如该线程中许多其他人已经指出的那样,通过以下方式查找当前本地保存的电子邮件地址:

git config user.email

如果与github上的邮件不匹配,请使用以下命令进行更改:

git config --global user.email my_email@gmail.com

这将全局更改以后所有提交的邮件地址,但不会影响过去提交的“贡献概述”。您可以按照官方文档进行详细说明。

更改邮件地址以更新过去提交的概述

您意识到,您过去的许多提交未正确记录在Github的“贡献概述”中: 在此处输入图片说明

要更改此设置,您可以按照官方github docs中说明的步骤更改存储库的作者信息。

简短摘要:

  1. 打开git bash
  2. 克隆裸仓库

    git clone --bare https://github.com/user/repo.git
    cd repo.git
    
  3. 改变变量后,下面的代码到Git的bash的控制台粘贴OLD_EMAILCORRECT_NAME以及CORRECT_EMAIL

    #!/bin/sh
    
    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
    
  4. 按Enter键运行脚本

  5. 将更正的历史记录推送到github
    git push --force --tags origin 'refs/heads/*'
    

此过程应该更新“贡献概述”,并且现在还显示以前未显示的提交: 在此处输入图片说明

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


0

确保使用用户标志。例如 git push -u origin 代替 git push

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.