Git / gitorious:与客户共享某些分支机构/存储库的方法

时间:2011-02-28 13:29:35

标签: git gitorious

是否有一种既定方式与客户共享项目的部分代码(位于分支机构或其自己的存储库中)?

我正在努力解决的问题:

我们的客户可以访问源代码的方式有不同的模型:

  1. 我们的大多数客户不关心源代码,而是关心构建的软件
  2. 关注源代码,他们的发布是从
  3. 构建的
  4. 实际上有些开发人员正在与我们一起编程以向项目添加功能。
  5. 鉴于我们使用git和内部gitorious进行内部开发,我可以很容易地处理前两个案例:

    1. 为他们提供包含内置软件的软件包
    2. 向他们提供软件包以及产生该软件的代码的tarball。
    3. 我真正想知道的是第三种情况。

      在内部,每个人都能看到所有内容,我们会共享所有代码。

      但是,我们不希望客户看到所有内容,而只希望看到他们的软件版本。

      是否有一种已知的工作方式,例如使用两个存储库(即“我们的回购”和“客户回购”),带有钩子,当他们从我们这边或者他们涓涓细流时推进和推出变化客户方?

2 个答案:

答案 0 :(得分:1)

您可以拥有一个--bare存储库,其中包含例如主分支,步骤3中的开发人员反对。在本地,您可以拥有另一个裸存储库,只有您可以使用。在其中,您可以拥有任意数量的分支机构与您的客户进行协作和隐藏。

只要有一些外部开发人员将某些内容推送到第一个回购站,您就可以将这些更改推送到本地--bare repo,只要您想在外部共享代码,就可以推送到例如共同回购的主人。

编辑:使用我的意思是你作为你的组织和本地我的意思是你的本地网络,或者你的组织的本地网络。

答案 1 :(得分:0)

我认为你可以设置两个镜像存储库。其中每个都将作为两个遥控器添加到您的开发人员沙箱中。一个用于customer,另一个用于internal

你必须有一些策略只将一些分支推送到customer远程,然后让它们克隆并仅对其进行操作。