我一直在从我的linux shell继续提交我的GitHub
repos,它们在网站上很好地显示出来。唯一的问题是“你的贡献”部分没有显示任何最近的活动。我从11月的某一天开始有一个绿色的广场,我不知道如何得到,但所有其他贡献都没有出现在日历中(但同样,他们做出现在他们的回购中。
我在这里缺少什么?
答案 0 :(得分:59)
来自git
我刚刚看了一下你对GoTime2存储库的贡献 似乎你一直在推动布局分支。
这些贡献没有出现的原因是我们只是 跟踪提交到存储库时的贡献 默认分支或gh-pages分支:
一旦您的贡献合并到默认或gh页面,您就可以了 将在您撰写它们的那一天得到它们的记入。
所以在我的情况下,我必须将“布局”分支与“主”分支合并,以查看日历中显示的“您的贡献”。
答案 1 :(得分:45)
对我来说,这个问题是由我从我的工作计算机上提交的,我在我的gitconfig中使用了不同的电子邮件。将我的工作电子邮件地址添加到我的github帐户并没有使过去的提交显示在摘要中,但是新的提交现在正在显示它们应该。
您可以使用git config user.email
找到您用于存储库的电子邮件地址。
答案 2 :(得分:31)
这是一个Github问题,有时它们的更新机制不起作用,它变成了“过时的缓存”。这没什么大不了的,只需发送电子邮件到support@github.com来描述问题,他们马上就会修复它。
答案 3 :(得分:19)
可能的原因:
提交是在一个分支
用叉子做的提交不会计入你的贡献。
https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/
答案 4 :(得分:11)
这就是诀窍!我刚刚使用$ git config user.email "my email address used on my git repo"
并且它有效。
答案 5 :(得分:10)
"您必须使用您用于登录github帐户的相同电子邮件ID提交更改"
如何解决:
git config --global user.email abc@xyz.com
git config user.email abc@xyz.com
电子邮件= abc@xyz.com name = abc
其他原因可以在这里找到 https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/
答案 6 :(得分:10)
确保您的本地电子邮件与帐户中的电子邮件完全相同。
转到终端,在推送提交的文件夹内,运行:
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中,这些电子邮件之间没有区别,它们的工作方式完全相同)。
答案 7 :(得分:6)
也许Github解决了这个问题。有一种简单的方法,请访问github.com电子邮件设置:https://github.com/settings/emails
个人设置 - >电子邮件
您可以在那里添加电子邮件地址,并通过发送验证链接验证您的新电子邮件地址,然后您会发现之前的提交都记录在“您的贡献”日历中。此电子邮件验证还可以让您从GitHub接收通知和密码重置。
您的新电子邮件地址将用于与帐户相关的通知(例如帐户更改和结算收据)以及任何基于网络的GitHub操作(例如编辑和合并)。
答案 8 :(得分:5)
所以这通常是由于很多因素造成的,您必须访问此GitHub help
我发现的最常见错误是:
我个人最近遇到了问题1,为此我转到 terminal / cmd / cli 并通过运行此命令在本地配置我的电子邮件地址
config --global user.email yourname@email.address
完成后,尝试再次运行此配置:
config --global user.email
你应该能够看到:
yourname@email.address
如果这是正确的,您已使用全局公共存储库成功配置了本地计算机。现在,您的下一次提交将记入您的日历。
答案 9 :(得分:5)
我在Xcode 9 for iOS开发中遇到了同样的问题。
即使我在Xcode中提交了。 “你的贡献”日历中没有任何贡献。
解决方案:
全局更改提交者姓名和电子邮件
用于提交的电子邮件地址必须与您的GitHub帐户相关联。
在终端:
$ git config --global user.name "Full Name"
$ git config --global user.email "fullname@gmail.com"
另请参阅GitHub帮助:Setting your commit email address in Git
答案 10 :(得分:4)
原来我之前在GitHub上更改了我的电子邮件地址,我也忘了更改本地的电子邮件地址。
答案 11 :(得分:4)
在我的许多提交发生后(新的提交正确显示),我发现在我的组织中添加了私有仓库的提交,我遇到了问题,并且只能通过删除电子邮件地址来显示它们我的个人资料,然后重新添加相同的电子邮件地址。
似乎这样做可以解决GitHub中的缓存问题。
答案 12 :(得分:2)
即使git config
配置了正确的电子邮件地址,我仍然要手动将我的电子邮件添加到SourceTree设置。只有在这样做之后,GitHub才开始将我的提交录制到我的贡献图中。
答案 13 :(得分:2)
您可以转到https://github.com/settings/emails 并使用git config --global user.email
添加您正在使用的电子邮件答案 14 :(得分:2)
我有同样的问题,这对我有用:GitHub贡献检查器,链接如下。 安装后,程序会检查您最近提交的有效性,并为您提供规则列表,规则/规则不会以红色显示。
我的问题是GitHub使用Cygwin终端名称作为电子邮件地址,所以我只是将我的Cygwin终端名称添加到我的个人资料中,所有最近的提交都添加到我的GitHub日历中。
您的提交不会被视为捐款!请查看以下详细信息: https://github.com/jdennes/contribution-checker
答案 15 :(得分:2)
我就同样的问题联系了 Github 团队,这是他们的回应,希望对你们中的一些人有所帮助
如果贡献符合特定条件,就会被计算在内,如下所述:
您可以了解为什么对公共存储库的特定提交不计为使用此应用程序的贡献:
https://contribution-checker.herokuapp.com/ 这个贡献检查器非常有帮助,它解决了我的问题
人们经常发现他们缺少贡献,因为他们的提交是由与他们的 GitHub 帐户无关的电子邮件地址创作的,如下所述:
您可以通过在提交 URL 末尾添加 .patch 来检查提交的作者,如下所示:
https://github.com/github/linguist/commit/cfd5cbaba00122fceea1cfb108c5bdc3d451065a.patch
答案 16 :(得分:2)
GitHub明确说明了他们如何在MDN documentation中衡量您的贡献:
问题和请求请求
提交:
只有满足以下所有条件:
用于提交的电子邮件地址与您的GitHub帐户相关联
提交是在独立存储库中进行的,而不是在分叉中进行的
已进行提交:
此外,以下至少一项必须为真:
注意: 进行了符合要求才能计为贡献的提交后,您可能需要等待24小时才能看到该贡献出现在您的贡献图
答案 17 :(得分:1)
我也有同样的问题,原来是因为本地git上的电子邮件与我的GitHub帐户上的电子邮件不匹配。
要在本地计算机上更新电子邮件,请执行以下操作:
git config --global user.email "your.email@email.com"
验证所有提交都在github上进行了更新,如果没有,则可以通过单击提交并在提交url的末尾添加“ .patch”,检查单个提交以查看与该提交相关的电子邮件:
https://github.com/username/repoName/commit/9fbe83f71cfc3503.patch
现在您要做的就是将您看到的电子邮件添加到您的帐户。(无需验证)
再次检查提交,您应该会看到您的用户名并记入:)
答案 18 :(得分:1)
我通过两次更改解决了这个问题
git config --global user.email "your github email"
main to master
更改为 {{3}}`
答案 19 :(得分:1)
我通过在本地环境中使用GitHub配置文件的用户名作为git用户名解决了类似问题。
例如,
在本地git配置中将全局用户名设置为 susithrj 。
git config --global user.name“ susithrj”
答案 20 :(得分:1)
我遇到了同样的问题,解决方案非常简单。我为全局电子邮件配置设置了错误的电子邮件
git config --global user.email "email@yourmail.com"
只需确保上述电子邮件和您的GitHub帐户电子邮件相同
答案 21 :(得分:1)
github上的“贡献日历”或“活动概述”仅记录与github帐户中记录的邮件地址相关的提交。
正如该线程中许多其他人已经提到的那样,通过以下方式查找当前本地保存的电子邮件地址:
git config user.email
如果它与github上的邮件不匹配,请使用:
git config --global user.email my_email@gmail.com
这将全局更改以后所有提交的邮件地址,但不会影响过去提交的“贡献概述”。您可以按照official docs进行扩展说明。
您意识到,您过去的许多提交未正确记录在Github的“贡献概述”中:
要进行更改,您可以按照in the official github docs中说明的步骤更改存储库的作者信息。
简短摘要:
克隆裸仓库
git clone --bare https://github.com/user/repo.git
cd repo.git
在更改变量OLD_EMAIL
,CORRECT_NAME
和CORRECT_EMAIL
之后,将以下代码粘贴到git bash控制台中:
#!/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
按Enter键运行脚本
git push --force --tags origin 'refs/heads/*'
警告:此操作对存储库的历史记录具有破坏性。如果您正在与其他人在存储库上进行协作,则重写已发布的历史记录被认为是不好的做法。您只应在紧急情况下这样做。
答案 22 :(得分:0)
我遇到了同样的问题,并发现我没有推送到原点/主分支,而是推送到其他一些分支。我通过合并两个分支来解决它。另外,即使两个分支合并,如果 origin/main
分支落后于多次提交,贡献部分仍然不会更新。仍然需要进行合并(某种)以确保 origin/main
分支始终更新,请执行:
注意:(此解决方案很容易适用于从远程拉取并推送到不同目标存储库的本地存储库(有问题的存储库))
git pull origin main:temp
origin/main
分支仍然落后于多个提交。我们需要 chekout 到 temp 分支以合并/向前移动它(可以这么说)git checkout temp
(origin/main, origin/HEAD, temp)
变为->>>>>>>> (HEAD -> temp, origin/main, origin/HEAD)
这意味着现在 HEAD 指向 temp
分支,因此我们可以让它向前移动 (可以这么说)多次提交(或合并,无论情况如何)。git merge branch-second
(origin/branch-second, main, branch-second)
本地,合并后在 temp 以上的几次提交看起来像这样:(HEAD -> temp, origin/branch-second, main, branch-second)
git push origin temp:main
git log --all --decorate --oneline --graph
显示:
(HEAD -> temp, origin/main, origin/HEAD, origin/branch-second, main, branch-second)
查看我的中等文章: Medium
答案 23 :(得分:0)
对我来说是项目中的文件:
/.git/config
...
[user]
name = your user
email = user@host.com
...
在块内 [user] 仔细检查“电子邮件”是否正确(我的不正确)并且名称是唯一的(我的重复)。
与贡献者仔细核对正在增加使用:
git shortlog -sn
进行推送,检查哪个正在增加计数器,并且该名称应该是块 [user] 内的名称
答案 24 :(得分:0)
确保使用用户标志。
例如
git push -u origin
代替
git push
答案 25 :(得分:0)
有同样的问题,我的问题是通过设置电子邮件来解决的
index.php
希望这会有所帮助。
答案 26 :(得分:0)
您可以将电子邮件设为不公开,并且捐款仍会显示在日历中。您可以选择从github email settings保留电子邮件地址的私密性,并在git配置中使用 github noreply电子邮件地址。
git config user.email "xxxxxxxxxxx@users.noreply.github.com"
注意
对于我来说,我已选择从 github电子邮件设置中保留我的电子邮件的私密性。 这给了我一个错误
Your push would publish a private email address.
同时尝试推送至我的仓库。我删除了电子邮件。推送成功后,但是捐款没有记录在我的日历中。
如GitHub在电子邮件设置页中所述
我们将删除您的公开个人资料电子邮件并使用 执行时为xxxxxxxxxxx@users.noreply.github.com 基于网络的Git操作(例如,编辑和合并),并通过 代表你。如果您希望命令行Git操作使用您的 私人电子邮件,您必须set your email in Git。
答案 27 :(得分:0)
答案 28 :(得分:0)
我刚刚通过命令行再次添加了电子邮件,它解决了该问题:
$ git config user.email "myemil@mydomain.com"
另一个问题是关于您的分支机构的。如果您在maser旁边创建另一个分支并尝试推送该分支,则可能会发生此问题。就我而言,我已经开始努力掌握并获得解决方案。
答案 29 :(得分: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项目目录中运行gca <git username> <git email address>
抬起头!我仅在我自己的个人项目中使用过它,而我一直是唯一的提交者。没有机会通过小组项目进行测试,因此请谨慎进行。