Git push继续使用错误的用户名编写commit

问题描述 投票:0回答:2

我已经在共享计算机上创建了一个新项目,并且我的存储库中的提交使用了错误的Git用户名。我已经在Windows的凭据管理器中更改了凭据,我遵循了this guide,但是作者没有更改,即使当我按它要求输入要输入的用户名和密码时,我也插入了我的。不过,在存储库中,提交的作者不是我。我也尝试过this solution,但仍然无法使用。

我还能尝试什么?

更新

步骤:-git commit -m "message"-git push origin master

然后它要求输入电子邮件和密码。我插入我的,它可以正确推送,然后我进入存储库并看到此内容:

enter image description here

在git log之后,我看到了:

enter image description here

混合在一起。

在存储库中,名称不正确。

git github repository git-commit
2个回答
2
投票

您正在错误的前提下进行工作,因此只有在更改方法之前,您才能解决此问题:git pushexisting提交从一个存储库转移到另一个存储库。转移过程使用您的凭据(来自https://的管理者的凭据,或ssh://的存储的ssh凭据),但是commits已被冻结:它们具有为其作者和提交者设置的任何名称,并且这些不能更改。

因此,您需要进行新的不同的提交。进行提交时,Git在此处使用的名称和电子邮件地址是您在任何凭据中设置的not数据,也不存储在任何ssh密钥中。相反,它们仅使用您的user.nameuser.email设置。

如果您有现有的提交,可以将它们复制到新的和改进的提交中,这些提交与原始文件完全相同,但又略有不同:]

  • 具有不同的作者和提交者名称(您的新名称和改进者,更正的名称,以及

  • 具有不同的哈希ID(因为它们是不同的提交)。
  • 然后您可以告诉您的Git:

    丢弃那些棘手的旧提交,而改用我闪亮的新提交。您将不再看到旧提交,而只会看到新提交。如果仔细观察,即使关于它们的所有else相同,您也会看到新的具有新的哈希ID。为此,请参阅How to change the author and committer name and e-mail of multiple commits in Git?。请注意,您应该注意仅复制使用错误的名称和电子邮件地址设置所做的提交。链接的问题副本

    any

    上接受的答案与一个特定的电子邮件地址匹配,因此,如果您误用了Linus Torvalds的电子邮件地址,并在Linux系统上尝试使用此地址,则将替换所有他的电子邮件地址。提交。但是在典型情况下,您的错误电子邮件是唯一的,您将只替换您错误的最后几次提交。((注:如果在您的问题中显示

    exactly

    您正在采取什么步骤并产生exact结果,可能会有所帮助。例如,如果git push失败,并显示non-fast-forward,我们将了解发生了什么问题。)

    设置新的Git用户名,它将自动覆盖配置文件中的旧用户名:

    git config --global user.name "My Name"

    确认您已正确设置Git用户名:

    git config --global user.name

    我的名字

    还要检查您是否使用SSH或HTTPS进行推送。


    -1
    投票
    设置新的Git用户名,它将自动覆盖配置文件中的旧用户名:

    git config --global user.name "My Name"

    © www.soinside.com 2019 - 2024. All rights reserved.