我在 GitHub 上开发了一个私人仓库,然后将其公开。我可以让我的活动可见吗?

Pen*_*uin 16 github repo

我有一个私人仓库,工作了 6 个月。今天我提交论文后终于公开了。是否可以使活动(那些绿色方块)可见?我尝试单击contribution setting并收到消息Visitors will now see your public and anonymized private contributions,但活动仍然不显示。

更新1:

我注意到只记录了我在 GitHub(网站,而不是从我的机器推送代码)上所做的更改。也就是说,仅readme显示我经常在网站上更新的文件。

更新2:

我跑去git --no-pager log -s --format="%ae"查看哪些电子邮件用于提交,并得到以下信息:有些电子邮件是primaryGitHub 下的电子邮件,有些是43555163+Penguin@users.noreply.github.com,有些是Penguin@Penguin-MacBook-Pro.local,有些是Penguin@econ2-204-32-dhcp.int.university_name.edu

另外,正如我在下面的评论之一中提到的,如果我转到我的存储库并专门查看提交,我可以看到类似以下内容的内容Penguin authored and Penguin committed on May 27 1 parent 1d71ac3 commit cb95c2870de67383ee653849b4c7b40a062f5fd3:但这并没有显示在我的活动中。

最后,一些评论提到在 GitHub 上创建一个新的存储库并推送我之前的提交(在以某种方式过滤电子邮件之后,我不太明白)。然而,我已经Stargazers在这个仓库上有几个并且想保留它们。通过创建一个新的仓库,我相信这些将会消失。

更新3:

我曾经git filter-repo将所有电子邮件更改为我的主要电子邮件,现在当我致电时,我以前的所有提交电子邮件似乎都是我的主要电子邮件git --no-pager log -s --format="%ae"。但是,我仍然没有看到活动显示。例如,如果我转到我的存储库,我可以看到其中一项提交显示Penguin authored and Penguin committed on Apr 8,但这不会在活动中显示。

Von*_*onC 9

我注意到只记录了我在 github(网站而不是从我的机器推送代码)上所做的更改。

这意味着您需要从克隆存储库的本地文件夹中进行检查:

git config user.name
git config user.email
Run Code Online (Sandbox Code Playgroud)

确保这些与您的 GitHub 用户帐户和 GitHub 用户电子邮件匹配。
然后进行一些新的提交,然后推送:看看活动是否得到反映。

OP企鹅在评论中证实:

看起来电子邮件不一样(由于某种原因,电子邮件在我的本地计算机中为空)。

现在我可以通过本地计算机推送提交,它们显示为活动。

有没有办法显示我以前的提交?

为此,您需要重写过去的提交,并强制推送结果(如果您是唯一在该存储库上工作的人,那么这是可以的)。

请参阅如何切换 GitHub 帐户并追溯更新提交历史记录?例如,使用git filter-repo(使用 mailmap 映射)或git filter-repo --commit-callback.


我不太明白。如果我创建一个新的存储库并将所有内容推送到其中,我将失去观星者

您不会创建新的远程存储库,只需将其克隆到新的本地克隆存储库中,并在那里应用 git filter-repo 。

一旦本地历史记录与您在提交作者身份方面的期望相符,您就可以强制推送回原始远程存储库(及其所有 Stargazers)。

git push --force # at least for the main/master branch
Run Code Online (Sandbox Code Playgroud)

讨论来看

我认为 git Push --force 有效。我仍然看到提交页面上的提交未经过验证,但活动现在出现了。
难道是他们没有验证的问题吗?

现在看来,每当我尝试从本地计算机推送提交时,我都需要出于某种原因进行身份验证

远程认证与提交作者身份和验证不同。

已验证的方面是由于缺少提交签名,如此处所述
您需要在本地放弃您的提交(仍在使用git filter-repo),然后再次强制推送它们。
一旦签名(使用注册到您的 GitHub 个人资料的密钥),它们将显示为已验证。

withgit push身份验证取决于您使用的协议(HTTPS 或 SSH),正如最近(撰写本文时的 2021 年 11 月)torek在“ Windows 终端中在 git 上切换帐户的简单方法? ”中所解释的那样。