【问题标题】:git pushed with another account to my other account?git用另一个帐户推送到我的另一个帐户?
【发布时间】:2021-05-21 02:19:58
【问题描述】:

我创建了一个新的 GitHub 帐户,并在添加我的原始分支后创建了 git push --setup-upstream origin

在 Windows 中的凭据管理器下删除我的旧 GitHub 凭据后,它似乎工作正常,正在从 Visual Studio Code 获取 GitHub 登录窗口以登录并使用新的帐户凭据。

一旦我使用git push 将我的项目推送到上游,我的 GitHub 现在告诉我我的旧帐户已将项目推送到我的新帐户的分支中......

这怎么可能?我没有从我的旧帐户分配任何 SSH 或其他令牌,所以这是令人困惑的部分。

我似乎也找不到解决方案来“注销”或摆脱我的旧 GitHub,将其从上游上传到我的新帐户。有什么我遗漏的吗?

【问题讨论】:

  • 也许你应该检查git config user.email
  • 这能回答你的问题吗? Remove credentials from Git
  • 你没有登录到 GitHub,所以你不能退出它(至少就提交而言——你登录是为了使用他们的 web 界面来制作 cmets,例如)。从您的问题中我不清楚的是,您是否在问为什么可以git push,或者为什么 GitHub 声称这些提交是由某个特定用户完成的。就 GitHub 而言,这是两件不同的事情:GitHub 在每次提交中获取电子邮件地址(这只是普通文本),并用它来说明提交者是谁。
  • 如果您提交声称由 Joe Biden 或 Kamala Harris 撰写的提交,GitHub 相信您。他们实际上无法检查这一点,除了检查任何 GPG 签名(如果您添加这些签名)(然后他们只能说“就我们可以从 GPG 密钥判断而言似乎合法”或“从提交中的 GPG 密钥看来似乎很可疑”)。

标签: git github git-credential-manager


【解决方案1】:

不要将您在 GitHub 上的提交旁边看到的内容与实际推送这些提交的内容混为一谈。

您可以检查哪些凭据(用户名/密码)用于推送到 GitHub(假设最新的 Git 2.30+,并且 git config credential-manager 设置为 manager-core):

printf "protocol=https\nhost=github.com"|git credential-manager-core get

这与git config user.name/email 不同,这就是为什么我总是设置(因为Git 2.8, March 2016

git config --global user.useconfigonly true

这迫使我在每个新存储库的第一次提交时指定正确的 user.name/email。

【讨论】:

    猜你喜欢
    • 2020-02-17
    • 2020-04-16
    • 2021-06-11
    • 2021-08-23
    • 2019-08-07
    • 2016-03-26
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多