如何在GitHub上更改提交的作者?

7

我想知道是否有一种方法可以更改在GitHub存储库中推送更改的人(帐户)。

例如:我将更改推送到我的私人存储库,但使用了不同的名称(而非电子邮件),但我拼写了我的名字的一个字母,并且GitHub将提交标记为由用户名而不是正确用户名提交;


3
合并之前,正确吗? - Goose
如果在合并之后这是唯一的选择:https://dev59.com/73RB5IYBdhLWcg3wAjNH - Ivan86
在有人推送更改之后。 - Karina Kozarova
3
这是请求在 GitHub 上更改整个 PR 的作者,而不仅仅是更改一个或多个提交的作者。作者是在 GitHub UI 中点击“创建拉取请求”的人。您可以成为 GitHub PR 的作者,即使您没有进行任何提交。我已经检查过了。 - Tilo
相关但不是重复的问题:我的问答:如何在GitHub上更改PR的所有者/如何接管一个开放的GitHub PR - Gabriel Staples
3个回答

5

我建议你修复提交者。记住提交代码的用户和实际提交代码的人是不同的。实际提交代码的人签署在 .git/config 文件夹中:

$ cat .git/config
[user]
    name = John Doe
    email = john.doe@example.com

现在,您只需执行git commit --amendgit push origin BRANCH -f命令。前者会再次提交(但此次会更新提交者信息)。后者将覆盖分支。

2
更改作者:git commit --amend --author="John Doe <john.doe@example.com>" - LRD27

3

更改提交后的作者名称的简易步骤。

  1. 通过运行以下命令将存储库变基到要更改的提交的前一个提交:1 git rebase –i {{previous-commit-hash}}

  2. 上面的脚本会提示您按降序列出的提交列表。在此vi/vim视图中,替换每个要编辑的提交的单词pick为edit。然后退出并保存。

  3. 当重新基础流程开始时,通过运行 git commit --amend --author="Author "更改提交的作者。然后,使用以下命令继续下一个提交:git rebase –continue

  4. 一旦重新基础过程完成,请通过运行以下命令推送您的更改:git push -f 以上步骤将更改提交的作者。


2

我把我的名字拼错了一个字母,GitHub标记了这个提交

==> 在这种情况下,您需要进行变基操作。

Pull request任务仅适用于Web GUI,它不是Git底层命令。

(1) 删除当前Pull request。

(2) 使用您想要的身份信息(电子邮件,姓名)对您的提交进行变基。

(3) 创建新的Pull request。


第二步并不是一件简单的事情。git rebase 命令通常使用原始作者的值,只更改提交者信息;我认为你需要使用 git filter-branch 命令来实现这个目的。 - Daniel H
这不是一个拉取请求,而是直接提交。 - Karina Kozarova

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