【问题标题】:Is there a way to give a GitHub team privilege to read and write only to a private fork?有没有办法让 GitHub 团队只对私有分支进行读写?
【发布时间】:2014-11-24 04:45:45
【问题描述】:

我是一名学生,只有基本的 GitHub 帐户。我和其他三个同学组成了一个小组,与软件公司代表一起学习大学课程。

公司有一个私有的 GitHub 存储库。为了共享他们的存储库,他们希望它满足 4 个要求:

  1. 只有一个人可以访问他们的仓库
  2. 为不在其 repo 上的组创建 repo
  3. 能够从其 repo 上的分支中提取更改
  4. 能够将我们的更改推送/合并到他们的存储库中

我在想他们的 repo 的一个分支会是完美的。但是,由于这是我第一次在 GitHub 上使用私有存储库,我没想到会遇到当前的障碍:我无权将协作者添加到分叉项目中。

我正在考虑两种可能的解决方案,但我不确定这些是否可行:

  1. 公司代表能否在其组织中创建一个团队,仅授予对分叉项目(而不是原始项目)的读写权限?
  2. 如果我有一个允许我创建私人存储库的 GitHub 帐户,我可以添加协作者吗? (我认为这不会改变任何事情?)

或者,是否有更好的方法来满足他们的要求?

【问题讨论】:

    标签: git github git-pull git-fork


    【解决方案1】:

    我认为 github 不允许您的任何解决方案。

    我要做的是从 github 存储库中提取,在一些允许免费的主机上创建一个共享的私有存储库(例如 bitbucket),然后将其推送到那里供您的合作者共享。我认为这满足了所有要求。

    如果您希望可以从您的私人 bitbucket 存储库中提取最新信息,请将它们合并到 github 存储库中的代码并将其推送到那里。您的本地存储库只有两个不同的遥控器。

    如果公司希望在合并之前处理拉取请求并查看您的更改,您可以派生公司存储库并将合并的更改推送到那里。你可以从你的 fork 发出拉取请求。

    【讨论】:

      【解决方案2】:

      假设公司有一个github organization,公司可以创建一个具有推送访问权限的团队,并授予该团队访问回购分支的访问权限。但是,只有他们的 github 组织的成员可以分叉 repo 或加入组织的团队。这意味着公司必须将您和您的同学添加到他们的 github 组织中,而他们通常可能只对员工这样做。

      如果是一家小公司,由于某种原因没有 github 组织,该公司可以将你的同学添加为你的 fork 上的协作者。原始 repo 的所有者应该有权将任何人添加为原始 repo 的协作者它的任何分支。

      但是为什么不让你的同学也自己做叉子呢?

      【讨论】:

        【解决方案3】:

        我找到了办法。这类似于我的第二个解决方案。但是,我没有升级我的帐户。我需要做的就是创建一个组织并将私有仓库分叉给该组织而不是我的个人帐户。从那里我能够创建自己的团队并邀请我的同学参加同一个分叉项目。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-10-18
          • 1970-01-01
          • 2017-12-15
          • 2017-01-20
          • 2021-09-11
          • 1970-01-01
          相关资源
          最近更新 更多