2016-09-29 11 views
2

ません、それはうまくリポジトリをクローン化し、すべてがOKでした。私は、戻って親リポジトリへのすべての私の変更をプッシュ.gitmodulesファイルなどを追加し、バックリポジトリをクローンする場合gitのサブモジュールのinitは、私は「gitのサブモジュールは、URLの場所を追加」を使用してサブモジュールを追加した「gitのサブモジュールの初期化」</p> <p>との奇妙な問題を抱えている絶対に何も

、私は「gitのサブモジュールの初期化」を使用して、すべてのサブモジュールを初期化するために

を試してみましたが、何も起こりません。 (文字通り何も、出力なし、余分なファイル、それも実際に何かをしようとしません

だから私は、私が間違って何をした

.gitmodules疑問に思って:?

bash$ cat .gitmodules 
[submodule "projects/subprojectA"] 
    path = projects/subprojectA 
    url = ssh://[email protected]/test/projectA.git 

[submodule "projects/subprojectB"] 
    path = projects/subprojectB 
    url = ssh://[email protected]/test/projectB.git 

答えて

0

クローニング時に--recursiveオプションを使用してください。あなたはあなただけのクローンのgitのサブモジュールを初期化したい場合、あなたは

git submodule update --init --recursive 
+0

gitサブモジュールの更新--init --recursiveここでは何もしません、クローンなし、何も、私はgitクローンを試みます - 再帰的に –

+0

gitクローン - 再帰はサブモジュールをクローンしません、 2.10.0 –

+0

あなたは.gitmodulesファイルをコミットしましたか? –

5

[OK]を、私は私がやったことを考え出した使用することができ、別の場合には

git clone --recursive 

:このオプションは、リストされたすべてのサブモジュールを初期化します違う。私はGitのサブモジュールを追加すると

、私はgitの状態を行なったし、それは私がリポジトリにすべての私の変更をプッシュされたとき、三つのことが

.gitmodules 
projects/subprojectA 
projects/subprojectB 

を変更していた私に言った、私はサブモジュールをコミットしたいdidntは、私がクローンしたばかりのすべてのファイルを追加すると思ったので、gitモジュールを追加してコミットしてプッシュしました。

これは間違っています。あなたはgit commitをして、あなたに伝えるすべてをコミットする必要があります。そうすると、gitはそれらのパスを登録し、クローンすると動作します。

しかし、それらのフォルダをコミットしないと、それらを登録せず、親リポジトリをクローンするときにクローンしません。

私の間違いだったので、これらのディレクトリを追加するとすべてのサブモジュールコードが親リポジトリに追加されてしまい、それを回避しようとしましたが、動作を停止しました。

ので、ちょうどあなたのサブモジュールを追加して、結果をコミットし、それはすべてうまくうまくいく:D Protectatorsヘルプの

おかげで、かかわらず!

+0

ありがとう!!!あなたは私の命を救いました!!!申し訳ありませんが、私は本当にありがとうございます、私は何時間もデバッグしています! – Zennichimaro

+0

完全に同意してください!あなたはこれがどれくらい私を夢中にさせているのか分かりません – SolThoth

関連する問題