3

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

我要解决的问题:

我们的客户可以通过不同的模型访问源代码:

  1. 我们的大多数客户不关心源代码,而是关心构建的软件
  2. 有些人关心源代码,他们的版本是从
  3. 有些实际上有开发人员与我们一起编程以向项目添加功能。

鉴于我们使用 git 和 internal gitorious 进行内部开发,我可以很容易地处理前两种情况:

  1. 给他们一个包含内置软件的包
  2. 给他们一个包含软件的软件包以及生成该软件的代码的压缩包。

我真正想知道的是第三种情况。

在内部,每个人都可以看到一切,我们共享所有代码。

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

是否有一种已知可行的方法来做到这一点,例如使用两个存储库(即“我们的存储库”和“客户存储库”),当它们从我们这边或客户那边滴入时,这些钩子可以推入和推出更改?

4

2 回答 2

1

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

一旦某些外部开发人员将某些内容推送到第一个仓库,您就可以拉出这些更改并推送到您的本地 --bare 仓库,并且一旦您想在外部共享代码,您只需推送到例如公共仓库上的主仓库.

编辑:的意思是您作为您的组织,本地是指您的本地网络,或您组织的本地。

于 2011-05-01T14:32:28.483 回答
0

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

您必须制定一些策略,仅将一些分支推送到customer远程,然后让它们克隆并仅在该分支上工作。

于 2011-02-28T13:55:41.130 回答