我最近建立了一个公共回购,建立了一个简单的应用程序,一切都按预期进行。
最后,我决定回购协议应该由一个公共组织来帮助鼓励捐款。因此,我创建了一个新组织,然后将回购协议转移到新组织。我是这个组织的所有者(也是唯一的成员)。
然后,我在本地更新了remote,使用:

git remote set-url [new org repo URL]

agit remote -v显示新的组织回购url。
我又做了一些编辑(更新自述文件中指向repo的链接),并执行了git push origin master将更改推送到新的repo。
得到:
remote: Permission to [new org repo URL] denied to [user].
fatal: unable to access 'https://[user]@[new org repo URL]': The requested URL returned error: 403

agit pull origin master成功返回。
我也试过:
将组织成员的默认权限更改为“写入”和“管理”
删除本地repo,然后从新的org repo url克隆,然后再次尝试推送
在新组织下创建一个团队,然后使用管理权限将repo添加到该团队
但还是得到了许可被拒绝的问题。
我还需要更改哪些git、repo和/或org权限?

最佳答案

在项目文件夹中,
转到.git文件夹并编辑config文件。
url=部分下查找[remote "origin"]条目
将url更改为ssh://git@[new org repo URL]
保存配置文件并退出。
现在你可以做git push origin master
编辑
使用sshhttps的替代方法。克隆repo时,应该要求您输入github用户名和密码(假设您使用https)。如果您启用了双因素身份验证,或者您正在访问使用saml单点登录的组织,则必须提供个人访问令牌,而不是输入https git的密码。如果您使用的是旧版本的git,则可能会发生此错误。

关于git - 将 repo 转移到新的Github组织后,对git push的权限被拒绝,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48020748/

10-13 08:46