6

我有一个存储库,我想要两个“视图”:开发人员可以看到整个事情,而客户应该只能看到某些(标记或以其他方式标记)分支。

我考虑过制作两个存储库 A 和 B,然后将所有不需要的文件列为 B 中的“忽略文件”,但我不确定这是否可行。(不知道A有没有同步B忽略的文件,有知道的可以回答吗?)

因此,我认为如果我可以在存储库上制作“视图”(仅显示标签 X ..)或类似的东西来解决我的问题,那会很酷,但是这在 git 中是不可能的。

亲切的问候

4

3 回答 3

7

git 中的分支是本地的。

您可以在本地拥有任意数量的分支,并且只将相关的分支推送到相关的存储库。

替代文字 http://nvie.com/wp-content/uploads/2009/12/Screen-shot-2009-12-24-at-11.32.03.png

上图来自http://nvie.com/git-model是一个很好的工作流,其中开发人员有很多分支但只推送开发分支,同样生产服务器只有主分支。

于 2010-03-04T15:49:33.703 回答
2

尽管如此,我的主要问题仍然存在:
如果我将存储库 A 克隆到 B 并且我在存储库 B 上工作,那么我会看到存储库 A 的所有分支(它们被标记为remots/origin/[branchName]) - 因此,如果客户在存储库 B 上启动 GitWeb,他将看到所有分支。这就是我不想要的。

您可以使用gitosis管理每个存储库的访问权限,甚至可以使用gitolite管理每个标签或分支的访问权限。

于 2010-03-05T07:03:56.037 回答
1

您只需要一个克隆存储库。在这个其他存储库中,您可以只推送您想要的标签和您想要提交的分支。

于 2010-03-04T15:53:42.613 回答