GitHub - PR 提交将旧用户名显示为作者。如果我没有回购权限,如何更改提交的作者?

GitHub - PR commit shows old username as author. How do I change author of commit if I have no repo permissions?

几个月前,我向私人组织回购做了一个 PR(私人的,public 用户必须请求访问才能查看它,技术上是私人的,但不是真的)。它很长一段时间都没有被接受,所以过了一段时间我决定更改我的 GitHub 用户名。然而最近,令我惊讶的是,PR 被接受并合并了。但是,它现在将我的旧用户名列为 PR 合并提交中的作者,并且不会 link 我的个人资料(但是 PR 本身,即在提交标题中 linked,仍然 links 到我的个人资料)。

如果我将用户名改回旧用户名(顺便说一句,我从未更改过我的 GitHub 电子邮件),提交是否会再次更改 link 我的个人资料?如果没有,有没有办法解决这个问题(如果我无法控制这个回购协议)?

关于更改提交的作者。提交与您的 GitHub 帐户没有直接关联。

提交有一个与之关联的提交者和作者。在远程推送之前,它们由您(或者 Git)在您的计算机上设置。

您可以直接使用任何电子邮件和任何名称进行提交,即使是来自其他用户的,GitHub 也会接受它,并且它可以像其他人制作的一样合并。

基本上你无能为力,唯一的方法是覆盖存储库的 Git 历史记录,但大多数维护者不愿意这样做,因为它可能会很混乱。

如果它是一个 public 项目或共享分支,则更不可能愿意为您这样做。

你只需要接受那个提交有你的旧name/email。

TL;DR:提交者和作者存储在提交中。当您执行 git push … 时,您只需要通过您的 GitHub 帐户进行身份验证即可推送,但这与存储在提交中的详细信息无关。


至于合并提交消息,您可以通过将用户名改回旧用户名来从技术上修复合并提交中的 link。但是,我不会说它值得做。

提交仍然属于您,它只是合并提交消息,不再解析为您的个人资料,因为它只是一个纯文本字段。在提交消息、拉取请求描述和评论中,GitHub links @usernames 到相应的配置文件。这与 Twitter 等其他平台的做法相同。仅仅因为之前有人提到过您并不意味着您现在需要终身保留该用户名!