为自由职业者雇主用例设置GitHub



我有一个大型的封闭源代码项目,我不时雇佣自由职业者来处理其中的部分内容。

这些自由职业者是高度专业化的,通常情况下,让他们接触整个项目不会有什么好处。有些人会对这种复杂性感到震惊,有些人会有点困惑,而大多数人会在某个时候浪费时间去看与他们无关的东西。

是否有一个私人存储库、分支、子模块、子树合并等的组合,我可以使用它,以便个人自由职业者只接触项目的一部分,但所有者(我)有一种方便的集中方式来执行合并、构建等?

我看过github、gitorious和gitlab。我更喜欢向github支付私人回购,而不是在自己的服务器上设置另外两个回购中的一个。但是,实际的git设置和项目结构是什么,才能使GitHub私有回购适用于上述用例?

更新

我想知道我是否可以使用git filter-branch。以下是我的想法:

我会在GitHub上设置一个私人存储库作为我的主存储库,其中包含整个项目所有分支的完整历史记录。除了我,没有人可以获得第一次回购。

然后,每当一个新的自由职业者被分配到一项任务时,我都会使用git filter-branch生成一个较小的分支(较小文件集上主分支的完整历史记录),然后将其推送到第二个GitHub私有仓库,并授予他们访问权限。

现在是棘手的部分。有没有一种方法可以在第一次和第二次回购之间执行操作,基本上将第二次逆回购视为第一次回购的一个分支?大多数情况下,我想在这两个存储库中进行比较、合并和重基准。有可能吗?

在StackOverflow上传递几个线程。希望能有所帮助。

根据过去的经验,当使用Git。

Git没有特定于分支的权限。

限制Git分支访问的方法?

给定您设定的目标,我将假设您的项目实际上是一个可以独立处理的较小项目的集合,因此有自己的生命周期。在这种情况下,我建议创建N个存储库,每个存储库都包含一个这样的小项目。通过这种方式,您可以在子项目级别轻松共享,并在该级别管理合并。

至于你自己,你会想建立一个超级项目,将所有这些聚合在一起,形成只有你需要看到的大局。您是选择使用子模块还是子树合并来实现这完全取决于您。

最新更新