我最近建立了一个公共回购,建立了一个简单的应用程序,一切都按预期进行。
最后,我决定回购协议应该由一个公共组织来帮助鼓励捐款。因此,我创建了一个新组织,然后将回购协议转移到新组织。我是这个组织的所有者(也是唯一的成员)。
然后,我在本地更新了remote
,使用:
git remote set-url [new org repo URL]
a
git 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
a
git 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
了
编辑
使用ssh
是https
的替代方法。克隆repo时,应该要求您输入github用户名和密码(假设您使用https
)。如果您启用了双因素身份验证,或者您正在访问使用saml单点登录的组织,则必须提供个人访问令牌,而不是输入https git的密码。如果您使用的是旧版本的git,则可能会发生此错误。
关于git - 将 repo 转移到新的Github组织后,对git push的权限被拒绝,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48020748/