GitHub如何将贡献从一个账户转移到另一个账户?

3

我进行了很多谷歌搜索,但没有找到任何明确的答案,是否可能以及如何做到这一点。

我有一个账户,其中对一个私有仓库做出了贡献。我没有任何存储库。

我希望所有这些贡献都流入我的新账户(那里有仓库)。

这可能吗?转移贡献后,我还能访问该私有仓库吗?

3个回答

2
您需要重写提交记录,这将创建新的哈希值(提交者的名称是计算哈希值所使用的数据之一)。
这意味着所有引用这些提交记录的提交记录(父提交记录也是计算哈希值所使用的数据之一)也需要重新生成(rebase允许批量执行此操作)。
所有这些都需要强制推送(因此所有其他贡献者的本地存储库都会受到影响)。
即使GitHub可以自动化部分操作,但它仍然会对项目产生巨大影响。
简而言之:是的,但您可能应该接受重写历史记录很难。

如果我合并这两个账户,贡献值不会被合并吗? - Roland
@roliroli 当然,存储库的内容不会被更新(GitHub 可能会使用别名,但这并不是基础数据)。 - Richard

0

从标签猜测,我认为您在谈论 GitHub 帐户。GitHub 根据 Git 提交中使用的作者电子邮件地址计算贡献,如果有一个 GitHub 帐户使用了此电子邮件地址,则您的 GitHub 用户名将显示为贡献者。也就是说,您可以将多个电子邮件地址关联到单个 GitHub 帐户。因此,如果您从旧的 GitHub 帐户注销当前电子邮件地址,并为新的 GitHub 帐户注册同一电子邮件地址,则现有的贡献将显示在您的新 GitHub 帐户下。

在转移贡献后,我仍然可以访问那个私有仓库吗?

那是完全不同的问题,答案取决于您的新 GitHub 帐户是否被授予访问私有存储库的权限。GitHub 权限系统基于 GitHub 用户名而不是注册的电子邮件地址。


1
就像我之前尝试阐述的那样,这不应该是一个问题。当您登录到新帐户下时,只需转到 https://github.com/settings/emails 并使用“添加电子邮件地址”将旧帐户中的电子邮件地址也添加到此处即可。不过,可能需要先从旧帐户中删除该电子邮件地址,因为我认为GitHub会检查同一电子邮件地址是否同时注册了两个帐户。 - sschuberth
1
所以我把旧账户的邮件移除了,添加到了新的账户中,勾选了显示私有贡献的复选框,但是贡献根本没有显示。 - Roland
你可能需要一些时间,GitHub 可能只会每天更新这些统计数据一次左右。 - sschuberth
@Roland,你有没有在这方面有什么进展?我更改了电子邮件,私有存储库显示了正确的 GitHub 用户(新用户),但仍未显示在贡献图表中。 - chimera
@chimera 在花费了很多时间后,我放弃了那个。 - Roland
显示剩余2条评论

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接