解决Visual Studio Code 的 git push 报错:“remote: No anonymous write access.“
先看报错截图如下:
GitHub 在 2021 年 8 月停止支持密码认证,改为使用个人访问令牌(PAT)进行身份验证。因此,我们可以前往 GitHub 的设置页面生成一个新的 PAT,然后重置PAT。解决步骤如下:
1. 创建 Personal Access Token (PAT)
如果你还没有创建 PAT,按照以下步骤创建一个:
- 进入 GitHub 的 Personal Access Tokens 页面。 点击 “Generate new token” 或
- “Generate new token (classic)”,视你的 GitHub 版本而定。
- 输入令牌的描述,并为其分配所需的权限范围(对于一般代码库操作,选择 repo 范围)。
- 点击 “Generate token” 生成新的PAT。
- 复制令牌并保存,因为你只能在这个页面上看到它一次。
2. 更新 Git 远程 URL
- 打开终端或命令行工具。
- 使用 git remote -v 查看当前的远程 URL。
- 你需要将新的个人访问令牌添加到 URL 中,使用 git remote set-url origin 命令更新:
git remote set-url origin https://<username>:<personal_access_token>@github.com/<your-repo>.git
请确保用你的 GitHub 用户名和新的个人访问令牌替换 和 <personal_access_token>,并用你的仓库名称替换 。
注:可以使用 git remote -v 查看你当前仓库的地址
3. 清除 Git 缓存的凭证
Git 可能会缓存之前的凭证,导致新的凭证不起作用。为了确保新的凭证生效,请执行以下步骤:
- 在终端中运行 git credential reject “https://github.com” 。
- 再次尝试 git push,并确保 Git 使用新的远程 URL。
4. 执行 Git 操作
一旦远程 URL 更新并清除了旧的凭证缓存,你可以尝试 git push 或其他 Git 操作。如果更新的远程 URL 和正确的 PAT 一起使用,身份验证应该成功。
注意事项
- 不要在公共场合分享 PAT:PAT 是与你的 GitHub 帐户关联的敏感信息,任何人获得它都可以访问你的 GitHub 仓库。
- 确保 PAT 的权限范围适当:一般情况下,repo 权限范围足以处理代码仓库相关的操作。如果你需要其他权限,请确保为 PAT
设置适当的范围。 - 更新令牌定期检查:如果你的 PAT 到期或失效,请创建一个新的,并按上述步骤更新远程 URL。