1

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

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

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

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

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

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

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

4

3 回答 3

0

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

于 2014-09-30T00:33:12.273 回答
0

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

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

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

于 2014-09-29T21:48:26.617 回答
0

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

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

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

如果公司想要在合并之前处理拉取请求并查看您的更改,您可以分叉公司 repo 并将合并的更改推送到那里。你可以从你的 fork 发出拉取请求。

于 2014-09-29T21:15:11.740 回答