我坐在只允許http/https通信的代理服務器上,我可以從Github克隆存儲庫,但必須使用https URL和用戶名/密碼來獲取/推送。通過https更新Git子模塊
現在我的問題是關於子模塊的存儲庫,當我執行git submodule update
超時,我只能假設這是因爲它的使用被阻斷SSH連接。 (它甚至不會要求我在私人回購站上輸入密碼)
我坐在只允許http/https通信的代理服務器上,我可以從Github克隆存儲庫,但必須使用https URL和用戶名/密碼來獲取/推送。通過https更新Git子模塊
現在我的問題是關於子模塊的存儲庫,當我執行git submodule update
超時,我只能假設這是因爲它的使用被阻斷SSH連接。 (它甚至不會要求我在私人回購站上輸入密碼)
在您的回購庫根目錄中的.gitmodules
文件和.git/config
文件中,應該爲您的子模塊找到一個部分。您可以在那裏編輯url,以便通過https請求而不是ssh訪問它。
當然,它可能已經是一個SSH網址,在這種情況下,問題可能是別的,但這是第一個檢查的地方。
這是非常有幫助的,但我的問題稍微複雜一點,因爲我在subrepos中有subrepos。下面是我如何獲得在Linux中編輯的所有正確文件: sed -i -e's/git:\/\ // http:\/\ // g'.gitmodules; 找。 -name config -type f -exec sed -i -e's/git:\/\ // http:\/\ // g'{} \; – Tristan 2015-06-04 16:02:36
正如FrançoisKoessler的回答所示,在編輯''.gitmodules''後運行''git submodule sync''是這個工作的必要步驟! – 2018-03-05 16:35:27
編輯您的.gitmodule
文件與HTTPS URL,例如:
[submodule "vendor/engines/fat_free_crm"]
path = vendor/engines/fat_free_crm
url = https://github.com/fatfreecrm/fat_free_crm.git
然後運行git submodule sync
以反映更改您.git/config
文件。
感謝提及'git submodule sync' – MohamedEzz 2017-11-13 04:57:13
這個問題還用'權限被拒絕(公鑰)'的錯誤來解決此問題。 – BlackVegetable 2013-12-18 18:52:59