我浏览了您的下一篇文章https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/,因为其贡献没有显示在我的个人资料中。
至少可以说。
已经超过24小时,并且在多个目录中。不,没有 我推送的存储库中的分支是分叉的。
他们不是给定存储库的贡献者,因此我可以推送 提交。
[问题:] ?有人可以告诉我我在做什么错吗?或如何解决?
我的git存储库为:https://github.com/irohitb
示例:考虑这个存储库-> https://github.com/irohitb/Crypto,这里说最后一次提交是在4天前推送的,但是在我的贡献中,它没有显示我上周所做的任何贡献
答案 0 :(得分:4)
检查您的git config user.name
和git 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。它具有一个脚本,它将重写您所有提交的历史记录并修复作者/提交者信息。
摘自文章:
警告:此操作对存储库的历史记录具有破坏性。如果您正在与其他人在存储库上进行协作,则重写已发布的历史记录被视为不好的做法。您只应在紧急情况下这样做。
任何合作者都必须获取新的历史记录。
注意:运行此脚本将重写所有存储库协作者的历史记录。完成这些步骤后,任何拥有分叉或克隆的人都必须获取重写的历史记录,并将所有本地更改重新建立到重写的历史记录中。
文章中的步骤:
git clone --bare https://github.com/user/repo.git
复制并粘贴脚本,根据您收集的信息替换以下变量:
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