远程:支持密码身份验证已于2021年8月13日移除。 请参阅https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls以获取有关当前推荐的身份验证方式的信息。 致命错误:身份验证失败...
这很奇怪,因为我只是按照文档的说明,在GitHub上创建了一个令牌两周前。该令牌将于2021年10月26日过期。为什么今天被移除了呢?
我在使用 Android Studio Arctic Fox(最新版本)时,通过个人访问令牌进行了身份验证,但在2021年8月14日仍然遇到了以下错误:
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
我在github.com上生成了一个新的访问令牌,将我的GitHub帐户从Android Studio中删除,然后使用新的访问令牌再次添加了该帐户。但是仍然显示相同的错误。
阅读Stack Overflow上的其他解决方案后,我下载了GitHub CLI,并在Windows命令提示符中成功使用访问令牌添加了我的GitHub帐户,然后尝试再次从Android Studio推送存储库,但仍然失败。
然后根据这篇文章的指示,在命令行中执行以下操作:
cd <project-directory>
git remote set-url origin https://<TOKEN>@github.com/<user_name>/<repo_name>.git
我从Android Studio再次推送提交,最终成功了!
首先按照官方文档中所述创建一个 Token:创建个人访问令牌
然后重置 Git 凭据。
git config --global --unset credential.helper
克隆或拉取您的代码库:
`git pull` or `git clone`
然后将令牌作为您的密码输入。
如果您想保存您的令牌,可以使用:
git config --global credential.helper cache
近期,GitHub更新了其远程:支持密码验证功能。将于2021年8月13日移除使用用户名和密码验证的方式,改用PAT(个人访问令牌)来访问GitHub API。
您可以在这篇博客文章中了解更多信息。
现在,要在命令行上使用令牌,请执行以下操作:
git clone https://github.com/username/repo.git
Username: your_username
Password: your_token
注意:你的令牌有一个过期时间,必须保密并在需要通过命令行进行身份验证时使用。
如果你正在克隆一个由组织拥有的仓库:
组织
或者如果是一些个人仓库,则:
组织/个人需要像这样启用远程克隆和派生:
(我从 Kartik Tyagi 的这部分内容中提取了一些内容,但添加了一个被遗漏的重要部分。)
Keychain Access
的应用程序。github.com
。如果不存在:
5.1. 点击“创建新的钥匙串项目”按钮(记事本笔标志)。
钥匙串项目名称:https://github.com
帐户名称:https://github.com
(必须保持不变。不要添加 www
。否则将无法正常工作)
密码:粘贴您生成的令牌
如果存在:
5.2. 如果有多个 GitHub 登录,则选择 Kind: Internet password
,双击它。
就是这样。享受吧!
git push -u origin main
会提示输入用户名,我提供了用户名,然后要求输入密码。在密码提示处,我尝试通过粘贴(cmd+V)和 [Enter] 来输入密码,这样做可以成功。 - Adam Cox如果在2020年8月13日之前克隆了项目,请在项目目录中运行以下命令:
git remote set-url <remote_name> <remote_url>
git pull
输入您的用户名和个人访问令牌作为密码。
(例如,“设置”>“开发者设置”>“个人访问令牌”)
结论:您在Github中添加个人访问令牌。然后从任何IDE(例如Android Studio、IntelliJ IDEA等)中,您可以使用ssh添加远程(例如,名称:origin,URL:git@github.com:your_github_username/your_git_repo.git)。就是这样
如果还没有完成,请执行以下操作:
配置全局git用户名和电子邮件
git config --global user.name "your_username" && git config --global user.email "your_email"
如果在Windows中,您可以为您的用户添加Windows凭据,控制面板>用户>管理您的凭据>Windows凭据>添加通用凭据>
Internet地址将是git:https://github.com,您需要输入用户名和密码将是您的GitHub个人访问令牌=>点击确定,完成
之后,我能够使用git(获取/推送/拉取等)
昨天我在MacBook的Keychain中尝试查找GitHub时遇到了一些问题。我尝试了很多方法,但都没有成功。
从我的角度来看,我使用的解决方法是通过SSH进行拉取和推送我的GitHub账户。
这使我能够在无需进一步配置的情况下完成操作。
pbcopy < ~/.ssh/id_rsa.pub
我知道这不是解决问题的方法,但对于我来说,这很有效,因为我需要快速完成操作,而且我老实说没有任何理由需要使用HTTPS而不是SSH。