linux GitHub使用ssh提交不显示在日历上,但文件会得到更新

nzrxty8p  于 2023-08-03  发布在  Linux
关注(0)|答案(1)|浏览(100)

所以我决定切换并开始使用ssh key在GitHub上提交我的工作。然而,在我创建了一个ssh密钥并将其连接到GitHub之后,当我推送它时,它不会显示在我的贡献日历上。但它会进行推送,因为我可以在GitHub上看到存储库上的更改。另外,当我检查我的设置和ssh键下,它告诉我,它是在过去的一天使用,但仍然没有提交的日历上。
在它不工作与ssh键,我绑回到https链接,但现在它不工作的方式。我正在使用虚拟盒子,我在上面运行Slackware机器,在那里我做所有的开发。只有那台机器有我上面描述的问题。
我试着找到解决办法,但似乎人们并没有像我希望的那样遇到这个问题。你能解释一下出了什么问题以及如何解决吗?

w8rqjzmb

w8rqjzmb1#

你用另一位作者的电子邮件推送了。
你有很多的承诺和推动。但是当你做这些提交的时候,他们中的一些是在github的另一个电子邮件中,而不是你的。所以github不能在日历上显示为你的。

遵循这些steps to Changing author info history并再次推送到github,提交将出现在日历上。

已编辑

正如@Zahra在评论中指出的那样,上述文章已不可用。最初的答案是这样的:

简短回答

在此repository中可以找到另一个类似的文章/脚本。
长答案
1.运行一个git过滤器分支:

git filter-branch --env-filter '
if [ "$GIT_COMMITTER_EMAIL" = "<antigo_email>" ]; then
    export GIT_COMMITTER_NAME="<novo_nome>"
    export GIT_COMMITTER_EMAIL="<novo_email>"
fi
if [ "$GIT_AUTHOR_EMAIL" = "<antigo_email>" ]; then
    export GIT_AUTHOR_NAME="<novo_nome>"
    export GIT_AUTHOR_EMAIL="<novo_email>"
fi
' --tag-name-filter cat -- --branches --tags

字符串
您应该取代<old_email>、<new_name>、的位置<new_email>。
1.将更正的历史记录推送到远程存储库:
git push --force --标记原点'引用/头/*'

相关问题