2010-02-26 50 views
1

因爲我不想花費12美元購買易於使用的github.com私人主機,所以我將很多我的代碼庫放在共享主機帳戶的小存儲庫中。這使我可以擁有儘可能多的代碼回收。正確的git子模塊鏈接

由於這些回購沒有任何資源坐在那裏,我還在該賬戶上放了幾個非常輕的網站以最大化我的使用。這些網站實際上將一些相同的代碼回購作爲其項目的子模塊使用。

因此,我通過ssh爲每個回購站點和站點推/拉代碼。這些網站本身只設置了一些指令,也拉動了這些子模塊。

所以我有一個simplesite.tld項目在我的電腦有一個子模塊,看起來像這樣:

[submodule "modules/blog"] 
     path = modules/blog 
     url = [email protected]:~/git/modules/blog/ 

然後我的代碼推到simplesite.tld並通過SSH和更新登錄到共享主機在simplesite.tld模塊

git submodule update 

但它要求我爲「用戶」我的SSH密碼才能登錄並獲得回購代碼。這只是一個煩惱,因爲回購是在同一臺服務器上。

那麼有沒有更好的子模塊鏈接,我可以使用外國計算機(如我的電腦)和項目在同一個硬盤都可以使用?

回答

2

您可以通過SSH設置public key authentication以避免每次都輸入密碼。

+0

我爲我的電腦做了這個,它的效果很好。但是,由於我已經SSH到服務器,然後通過SSH從同一個用戶請求回購,我猜服務器變得困惑,並再次要求密碼。我不知道如何爲同一用戶設置公用密鑰來訪問他自己的帳戶。 – Xeoncross 2010-02-26 20:46:47

+2

您可以用自己的授權密鑰文件('〜/ .ssh/authorized_keys')連接該用戶的公鑰('〜/ .ssh/id_rsa.pub')。 – mipadi 2010-02-26 23:04:59

+0

雖然如此,但永遠不會有。 – Xeoncross 2010-03-03 16:04:19

1

您可能可以使用基本HTTP傳輸協議來爲您的回購提供全局只讀訪問權限(假設沒有問題),或者通過.htaccess指令限制訪問權限。這應該適用於大多數共享主機帳戶。這會讓你在兩個地方使用相同的網址。

或者,您可以使用除子模塊以外的其他東西(我個人認爲這對於許多潛在用例來說是相當不足的)。例如,我喜歡mr。它實現的功能與子模塊稍有不同,但它可能會起作用。

1

我想你已經解決您的問題與冗餘密碼請求:)
如果沒有,我最近有類似的問題,我通過使用相對URL子模塊解決 - 看細節處Git submodules using relative urls