我认识的人正试图克隆我的github repo并直接对其进行更改。这是一个公共回购。他用我的读写访问链接克隆了它,他可以从回购中拉出来。问题是当他试图推送任何他得到错误
时错误:对user2 / repo.git拒绝用户2的权限
他是user2而我是user1。我之前允许其他人使用不同的回购,我从来没有遇到过这个问题。我错过了允许他访问或改变github的东西吗?我在github的帮助页面上看过这个:
将您的密钥作为部署密钥附加到repo1上时会发生此错误。 您可以毫无问题地从该回购推送和拉出,但您不会有 使用您的密钥访问任何其他仓库。要解决此问题,请删除密钥 来自repo1的部署密钥并将其附加到您的帐户页面上。 此密钥现在可以访问您的帐户有权访问的所有回购。
我们没有弄乱部署密钥,但我在网上找不到任何其他解决方案。
答案 0 :(得分:6)
我很愚蠢,并没有将它们添加为合作者。
为此,请按照以下说明操作:
- 转到
Repository
>Admin
>Collaborators
- 您会看到一个带有
Add
按钮的文本框。为了添加协作者,您可以在文本框中输入内容,直到看到实际内容为止 在您显示的下拉列表中向您建议的用户名 类型。- 选择将导致出现绿色复选标记的用户名,表示系统已识别该用户名。
- 按
醇>Add
将该协作者添加到存储库。
您还可以观看此octocast:http://screencast.com/t/m7yN19N4645h
答案 1 :(得分:6)
问题来自Windows Credential Manager,您只需要删除Windows Credential中的git帐户。我认为它会起作用。
控制面板 - >用户帐户和家庭安全 - >管理Windows凭据 - >删除github帐户
答案 2 :(得分:4)
首先需要删除最后一个ssh连接。
要删除最后一个ssh连接,请执行以下命令:
ssh-add -D
然后尝试推动。
答案 3 :(得分:1)
GitHub最近有minor security breach,因此您需要登录并批准个人资料中的每个有效SSH密钥。这样做的链接是:
https://github.com/settings/ssh/audit
如果您遇到困难,请参阅this答案,了解如何生成RSA指纹。
答案 4 :(得分:1)
与我同样的问题。
如果您使用git config credential.helper store
来缓存user1
凭据,则应将其从缓存文件中删除。
您必须编辑缓存凭据的~/.git-credentials
文件。
只需删除您不需要的帐户。
https://user1:pass1@github.com
https://user2:pass2@bitbucket.org
答案 5 :(得分:1)
通过macOS中的Keychain Access更新凭据
答案 6 :(得分:1)
窗口用户遵循此:-
Go to CONTROL PANEL->USER ACCOUNT->Credential Manager->Windows Credential
->delete all credential related to git
现在转到gitbash并照常进行
将打开一个新的弹出窗口,询问您的用户名和密码。