【问题标题】:GitHub change from password to personal access token without re-cloning the repoGitHub 从密码更改为个人访问令牌,无需重新克隆 repo
【发布时间】:2021-10-16 22:32:18
【问题描述】:

截至今天,GitHub 似乎已通过命令行禁用密码,而是需要个人访问令牌,因为您在尝试推送提交时收到此错误:"remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead."

我去生成了一个个人访问令牌,但我看到的大多数教程都说您基本上应该再次重新克隆存储库,然后使用您的个人访问令牌“登录”,然后才能再次提交。

但是,我有很多使用旧密码方法的存储库,我不想重新克隆每个存储库。有没有办法在我当前的存储库中以某种方式告诉 Git,“嘿,我想更改我的登录密码”。我希望当我推送时会自动再次提示我输入密码,但我只是收到了上面的错误消息,而且我不知道如何在不重新克隆和尝试推送的情况下重新输入登录信息再次。

我尝试了git config --global --unset user.password,但这似乎并没有解决问题。

谢谢

【问题讨论】:

  • 没有user.password 设置。我们在这里经常看到这个确切的项目 (user.password),这意味着那里有某种糟糕的教程或帮助系统的东西声称有这样的设置。从根本上解决这个问题会很好。你还记得你为什么认为user.password 可能存在吗?
  • 是的,我想这是因为我在这里看到了它:stackoverflow.com/a/51327559/11634814 当我只是浏览时,我现在看到答案说你不应该这样做/它是旧的、过时的和不安全的
  • @torek 实际上 'git config -l' 没有列出任何 'user.password'。但是,在 github 令牌过期后的 ubuntu 18.04 中,我使用了命令 'git config --global --unset user.password' 。之后 git 确实再次询问用户名/密码。我过去再次使用过它。很想知道它为什么有效,为什么不应该。这就是为什么我在阅读您的评论后发布的原因。 PS 我没有重新克隆我的仓库。
  • @SpyrosK:嗯,所以也许有一些(非 Git)软件将 user.password 作为(非 Git 提供的)凭证助手的一部分读取。最好能追踪到这一点......
  • @torek 如果 git 凭证存储(git-scm.com/docs/git-credential-store),那么这可能是一个解释。但是我第一眼看文档并没有提供任何证据。

标签: git github


【解决方案1】:

更新: 想通了,我想我会留下这个问题,因为由于最近的变化似乎相关。对于使用 Macbook 的人,请从 Finder 转到 KeyChain Access, 并搜索 github。双击github.com 选项:

按下弹出菜单上的显示密码按钮,然后将其换成您生成的个人访问令牌。

【讨论】:

  • 这对 MacOS 用户来说不是一个好的解决方案。它会替换您的 safari 登录凭据,并且可能会根据令牌权限破坏后续第三方 oauth 链接到您的 github 帐户。
  • 你应该创建一个 name=git:github.com,Kind=程序密码,Account=你的 github 用户名,where=git:github.com 的条目。然而,最干净的方法是 brew install gh 然后运行 ​​gh auth login。这会将正确的条目添加到您的钥匙串中(请参阅:stackoverflow.com/a/68780014/2562707)。
【解决方案2】:

在 Windows 上,打开凭据管理并编辑 git:github 凭据,将生成的令牌复制粘贴到密码字段中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 2021-12-08
    • 2012-07-09
    • 2013-12-27
    • 1970-01-01
    • 2022-11-22
    相关资源
    最近更新 更多