我在我的笔记本电脑(MacOS)上创建了一个本地存储库并启动了一个项目。经过一段时间的研究后,我想将它与我在 GitHub 上创建的空远程存储库同步。我尝试使用 HTTPS 和 GitHub 访问令牌链接存储库。首先,我在 Shell 中添加并设置了遥控器:
$ git remote add origin https://github.com/[username]/[github-repository-name].git
然后我生成了一个细粒度的访问令牌并将其输入到如下命令中:
$ git remote set-url origin https://[github-token]@github.com/[username]/[github-repository-name].git
但是当我尝试推送本地更改时,我收到了以下格式的错误:
remote: Permission to [username]/[github-repository-name].git denied to [username]
fatal: unable to access 'https://github.com/[username]/[github-repository-name].git/': The requested URL returned error: 403
我检查了我的远程存储库是否具有公共访问权限,尝试创建另一个细粒度的访问令牌,并确保单击“存储库访问”下的“公共存储库(只读)”,并重复我在开始时所做的步骤,然后双击检查远程 URL 是否正确。但是我再次收到相同的输出。
我尝试用谷歌搜索我的问题,但一段时间后,我仍然陷入困境。我知道我可以尝试使用 SSH,但我想弄清楚出了什么问题,这样我就知道如何在将来避免它。我是 GitHub 的新手,所以我很感谢有关解决此问题的任何解释或提示。
“公共存储库(只读)”意味着您允许您的令牌代表您对公共存储库进行只读操作的请求。推送提交不是只读操作。
您需要选择“所有存储库”或“选定存储库”。由您决定您希望此特定令牌有权访问哪些存储库,但您需要选择其中一个选项来进行写入操作。
在细粒度令牌中,您需要选择允许使用该令牌的写入操作类别。我认为你想要开始的是将“内容”设置为“读和写”。但通常您希望为 Git 客户端提供更多访问权限。
由于您是新手,因此请从最严格的访问权限开始,然后当您了解更多有关其用途的信息时,小心地为您的代币授予更多权限。