GitHubからプロジェクトのクローンを作成した後、gitサブモジュールをプルします


100

サブモジュールを指定したプロジェクトがあります。すべてが開発マシンでうまく機能します。私は.gitmodulesファイルをコミットし、プロダクションをプルしました。ただし、サブモジュールはプルされません。

サブモジュールディレクトリに移動してを呼び出してもgit pull、何も起こりません。

新しいプロジェクトでこれらのサブモジュールをプルする適切な方法は何ですか?

回答:


155

リポジトリのルートから実行するだけです。

git submodule update --init

9
これにより、実際に依存関係が更新されると思います。S.ラッセルは以下のコメントで正しい命令を出したと思います:git pull --recurse-submodules
スペンサー

39

サブモジュール用のものをサブモジュールリポジトリにプルする必要がある場合は、

git pull --recurse-submodules

ただし、これはサブモジュール内の適切なコミット(マスターリポジトリが指すもの)をチェックアウトしません

サブモジュールで適切なコミットをチェックアウトするには、を使用してプルした後にそれらを更新する必要があります

git submodule update --recursive

1
git submodule update --recursive最初にgit clone食べた後に必要だったのですが、最初は忘れてい--recursiveました。ありがとう!
MBB

10
これは私にはうまくいかないようです。サブモジュールは空のままです。
CodeMonkey

@CodeMonkeyは私と同じです。
linkerx

6
遅すぎる相手になるが、ここで終わった人のためかもしれません: git submodule update --init --recursive私の問題を解決する
Iglesk

26

ネストされたサブモジュールがある場合は、以下を使用する必要があります。

git submodule update --init --recursive
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.