git - 将 repo 转移到新的 Github 组织后,权限在 `git push` 上被拒绝

标签 git github github-organizations

我最近设置了一个公共(public)存储库,构建了一个简单的应用程序,一切都按预期运行。

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

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

git remote set-url [new org repo URL]

git 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

git pull origin master 成功返回。

我也试过:

  • 将组织成员的默认权限更改为写入和管理
  • 删除我的本地仓库,然后从新的组织仓库 URL 克隆,然后再次尝试推送
  • 在新组织下创建了一个团队,然后使用管理员权限将代码库添加到该团队

但仍然遇到 Permission Denied 问题。

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

最佳答案

在你的项目文件夹中,

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

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

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

现在你可以执行 git push origin master 并且它应该可以工作

编辑

使用 sshhttps 的替代方法。在克隆存储库时,应该会要求您提供 GitHub 用户名和密码(假设您使用了 https)。如果您启用了双因素身份验证,或者如果您正在访问使用 SAML 单点登录的组织,则必须提供个人访问 token ,而不是输入 HTTPS Git 的密码。如果您使用的是旧版本的 git,则可能会发生此错误。

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

相关文章:

git - 如何跳过生成 .gitattribute 文件?

git - 我没有 ~/.ssh/config 文件,但多个 GitHub 帐户有效,如何?

github - 如何使用 Github Actions 进行 SFTP?

javascript - 本地 D3 无法在线工作

node.js - Github Web API 授权问题 - 返回 "Not found"

github - 将 Github OAuth 范围限制为组织存储库

github - 对组织的所有存储库具有读取权限的团队

git - VSCode - 选项卡图标颜色反射(reflect) git 状态

git - 本地 Git 克隆是否可以被视为对其克隆来源的存储库的完整备份?

github - GitHub 组织可以将代码提交到存储库吗?