2011-10-17 90 views
1

我正在嘗試在其中設置一個帶有子模塊存儲庫的git存儲庫。讓我們打電話給這個例子的2回購:Super & Sub。所以我初始化超級回購,然後做了第二回購的git submodule add。我承諾使用超級回購的.gitmodules文件,因此當您執行git clone --recursive時,它會沿着超級回收子模塊。目前,我們的網址的格式如下:git submodules作爲構建的一部分

ssh://[email protected]/path/to/repo.git 

現在可以說我有3個用戶:user.auser.buser.cuser.a將子模塊添加到超級回購。 user.b是構建服務器。當user.a添加子模塊時,則user.b應該獲取子模塊爲user.b(不是user.a)。當他克隆超級然後提交時,user.c也是一樣,日誌應該反映它是由user.c提交的,而不是user.a(誰添加了子模塊)。我懷疑有一種方法可以指定子模塊的url,而不包括user.name作爲url的一部分。這導致我的問題。我該如何正確設置我的git存儲庫,使url不包含用戶名?大概這涉及到複製一些鍵,我只是好奇什麼是正確的方法來做到這一點。

千恩萬謝 本

+0

見這裏的解決方案:http://stackoverflow.com/questions/6031494/git-submodules-and-ssh-access – Cybot

回答

0

使用gitolite這樣你就可以訪問使用相同的用戶只要操作系統而言所有回購。每個ssh密鑰將確定該id。

+0

我們結束了使用https://bitbucket.org/sdorra/scm-manager/wiki/Home來做到這一點,似乎迄今爲止工作得很好... – Ben

+0

這也將工作:)但結賬gitolite,因爲它提供了一些更整潔的選項每個分支的權限等。 –

0

嘗試使用了相對網址的方式,子模塊:

[submodule "common/sub"] 
path = common/sub 
url = ../common/sub 
+0

相關網址不起作用 – Cybot