2010-11-28 64 views
1

我有項目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上遙控器將不只是工作。

回答

1

注意:A將是B的子模塊,而不是相反。

在服務器Y含義,您可以:

  • 添加A作爲項目B
  • 的子模塊阻止任何用戶中BA路徑中寫的(因爲你可以使file/dir name restrictions與gitolite)

如果像OP提到的那樣,「文件/目錄結構強加它:目錄B必須在直接內部ORY A上服務器Y「那麼這將是適當的:

  • 對於B是的A(即使它違背有點落後語義的子模塊」 B,這取決於A
  • 爲gitolite授權文件的修改只能在A/B路徑
+0

的文件/目錄結構強加它(添加和提交):目錄B必須是目錄中的內部服務器上Y. – Flavius 2010-11-29 14:45:15