我在git服务器X上有一个独立的项目A,我是一个简单的用户,对我的项目A只有RW权限。
然后我在服务器Y上有项目B,这取决于A(所以我想它将是A的子模块。)
在服务器X上我是唯一拥有对A的RW权限的用户,在服务器Y上我可以做任何事情,我是管理员。
现在我想与项目B上的服务器Y上的同事一起工作。他将能够使用并查看A的代码,但他不能看到与服务器X相关的任何内容。
组织事物的最佳方法是什么?在Y我正在使用gitolite,如果这是相关的。
要求是同事不得直接与服务器X交互,也不必知道服务器A甚至存在。同时我将在X上处理项目A,他应该只看到我在服务器Y上推送到A(在X上)的更改。
你会怎么做?感谢。
请提供尽可能多的具体git命令以及.git *文件应尽可能的样子。我怀疑我必须在服务器Y上创建一个“远程”,但我不知道如何完成它。欢迎任何具体的指示。
附录
服务器X需要我的RSA密钥,以防我必须从X向Y提取东西。即使只是在Y上添加A作为远程也不会起作用。
答案 0 :(得分:1)
注意:A
将是B
的子模块,而不是相反的。
服务器Y
上的含义,您:
A
添加为项目B
A
内的B
路径内撰写(因为您可以使用gitolite制作file/dir name restrictions)如OP所提到的那样,“文件/目录结构强加它:目录B
必须位于服务器A
上的目录Y
内”,那么它是合适的:
A
的子模块(尽管它与“B
背后的语义相矛盾,这取决于A
”A/B
路径