2

我最近建立了一个公共仓库,构建了一个简单的应用程序,一切都按预期工作。

最终我决定回购应该由一个公共组织管理,以帮助鼓励贡献。所以我创建了一个新组织,然后将 repo 转移到新组织。我被设置为该组织的所有者(也是唯一成员)。

然后我更新了remote我的本地使用:

git remote set-url [new org repo URL]

Agit remote -v显示新的组织存储库 URL。

我进行了更多编辑(以更新 README 中的 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 添加到具有管理员权限的团队

但仍然得到 Permission Denied 问题。

我还需要进行哪些其他 git、repo 和/或 org 权限更改?

4

2 回答 2

4

在您的项目文件夹中,

  • 转到.git文件夹并编辑config文件。

  • 在部分下找到url=条目[remote "origin"]

  • 将网址更改为ssh://git@[new org repo URL]
  • 保存配置文件并退出。

现在你可以做git push origin master,它应该工作

编辑

使用sshhttps. 当你克隆你的 repo 时,你应该被要求提供 GitHub 用户名和密码(假设你使用了https)。如果您启用了双重身份验证,或者您正在访问使用 SAML 单点登录的组织,则必须提供个人访问令牌,而不是输入您的 HTTPS Git 密码。如果您使用的是旧版本的 git,则可能会出现此错误。

于 2017-12-29T11:10:11.563 回答
2

切换到 SSH URL 是一种解决方法。
但关于 HTTPS URL,请检查:

  • 如果您的帐户已激活 2FA
  • 如果您有 Git 凭证助手,请检查 git config credential.helper 的返回值)。如果是,请删除任何 GitHub 条目,然后再次尝试推送:这将提示您输入 GitHub 凭据(同样,如果您没有 2FA)。
于 2017-12-29T16:52:55.003 回答