“看不见”的主项目的子模块贡献者
问题描述:
我有项目A,独立的,在git的服务器X,我在哪里,只有RW权利,我就A项目的一个简单的用户“看不见”的主项目的子模块贡献者
然后,我有项目B,在服务器Y,这取决于A(所以我猜想它将成为A的子模块)。
在服务器X上我是唯一拥有RW权限的用户,在服务器Y上我可以做任何事情,我是管理员。
现在我想对这个项目B.服务器Y上的同事,他将能够使用和查看的代码一起工作,但他一定没有看到任何有关服务器X
什么是组织事物的最佳方法?在Y我使用gitolite,如果这是相关的。
要求是,同事不得直接与服务器X进行交互,也不必知道服务器A甚至存在。同时,我将在X上开发项目A,他应该只看到我在服务器Y上推送到A(这是在X上)所做的更改。
您将如何去解决它?谢谢。
请提供尽可能多的具体git命令以及.git *文件应该尽可能的样子。我怀疑我将不得不在服务器Y上创建一个“远程”,但我不知道如何完全做到这一点。任何具体的指示是受欢迎的
附录
服务器X需要我的RSA密钥,万一我不得不从X拉东西到Y,即使简单地增加一个作为Y上遥控器将不只是工作。
答
注意:A
将是B
的子模块,而不是相反。
在服务器Y
含义,您可以:
- 添加
A
作为项目B
- 的子模块阻止任何用户中
B
的A
路径中写的(因为你可以使file/dir name restrictions与gitolite)
如果像OP提到的那样,“文件/目录结构强加它:目录B
必须在直接内部ORY A
上服务器Y
“那么这将是适当的:
- 对于B是的
A
(即使它违背有点落后语义的子模块”B
,这取决于A
) - 为gitolite授权文件的修改只能在
A/B
路径
的文件/目录结构强加它(添加和提交):目录B必须是目录中的内部服务器上Y. – Flavius 2010-11-29 14:45:15