1. ホーム
  2. git

[解決済み] サブモジュールを含む "git clone "の方法は?

2022-03-15 23:34:52

質問

サブモジュールをレポに入れようとしています。問題は、親リポジトリをクローンすると、サブモジュールのフォルダが完全に空になってしまうことです。

のようにする方法はありますか? git clone parent_repo 実際にサブモジュールフォルダにデータを置くのですか?

例えば http://github.com/cwolves/sequelize/tree/master/lib/ , nodejs-mysql-native は外部の git サブモジュールを指しているのですが、チェックアウトすると sequelize プロジェクトでは、そのフォルダは空です。

解決方法は?

Gitのバージョン2.13以降で。 --recurse-submodules の代わりに使用することができます。 --recursive :

git clone --recurse-submodules -j8 git://github.com/foo/bar.git
cd bar

編集後記 -j8 はバージョン2.8で利用可能になったオプションのパフォーマンス最適化で、一度に最大8つのサブモジュールを並行して取得します - 詳しくは man git-clone .

Git のバージョン 1.9 からバージョン 2.12 までは ( -j フラグはバージョン2.8以上でのみ使用可能です)。

git clone --recursive -j8 git://github.com/foo/bar.git
cd bar

Gitのバージョン1.6.5以降で、使用することができます。

git clone --recursive git://github.com/foo/bar.git
cd bar

すでにクローンされているレポや、古いバージョンのGitの場合は、こちらをご利用ください。

git clone git://github.com/foo/bar.git
cd bar
git submodule update --init --recursive