2012-04-25 98 views
23

我創建了一個項目submodule並將它放在Github上。git:克隆子模塊的變化起源

我創造了另一個項目,supermodule,然後這樣做:

cd supermodule 
git init 
mkdir lib 
git clone git://github.com/tandu/submodule lib/submodule 
git submodule add ./lib/submodule lib/submodule 

這工作得很好,但在網站上,查看文件(實際上是當它不能找到鏈接到其子模塊只是說「永遠加載提交數據」)。子模塊文件夾本身具有正確的origin

很顯然,我應該做的是

... 
mkdir lib 
git submodule add git://github.com/tandu/submodule lib 

...但現在已經太晚了。我怎樣才能讓這個項目中的子模塊正確指向origin

回答

41

這顯然是非常依賴於你使用的git版本。

  1. 如果存在,更改.gitmodules文件的[submodule "<dirname>"]部分url項。
  2. 如果存在,請更改.git/config文件的[submodule "<dirname>"]部分中的url條目。在子模塊本身的配置中更改urlconfig文件的位置取決於版本。較舊的版本在<dirname>/.git/config,較新的版本在.git/modules/<dirname>/config。但是,您可以始終低於命令使用方法:
cd <dirname> 
git config remote.origin.url <new_url> 
+5

與當前版本的git的(2.1.0),做'git的子模塊同步--recursive',就足以讓我更新到子模塊'起源'遠程。 – desseim 2014-09-11 09:29:56