【发布时间】: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),那么这可能是一个解释。但是我第一眼看文档并没有提供任何证据。