73

を使用している場合git clone--recursive、すべての git サブモジュールも取得できます。

クローン作成時にこの魔法のフラグを追加するのを忘れた場合、起こりうることですが、どうすればサブモジュールを取得できますか?

さらに、将来のクローンのデフォルトとして再帰フラグを設定するにはどうすればよいですか?

4

4 に答える 4

102

単純なトップレベルのクローンの後にこれを行うことができます:

git submodule update --init --recursive

clone をデフォルトで行うことはお勧めしません。開発のためにサブモジュールを積極的に使用し、青月に一度アップグレードする可能性のある github のサードパーティ OSS ライブラリにリンクするだけでなく、これを行う適切な方法は、git slaveまたはsubtreeを使用することです。

お役に立てれば。

于 2010-11-24T02:47:09.567 に答える
14
  1. レポのルートから:

    $ git submodule update --init --recursive
    

    これにより、登録されているすべてのサブモジュールが更新され、必要に応じて .gitmodules ファイルにある値に初期化され、複雑なサブモジュール (独自のサブモジュールを持つサブモジュール) に再帰され、それらも初期化および更新されます。

  2. 再帰的に複製をデフォルトにするために私が知っている最も簡単な方法はgit clone、エイリアスでシャドウすることです

    $ git config --global alias.clone = 'clone --recursive'
    

    オプションを常に追加する限り、それは慣用的な方法だと思います。

于 2010-11-23T21:12:07.787 に答える
1

IIRC git submodule init、、 git submodule update

残念ながら、デフォルトで再帰を有効にするオプションはありません。

于 2010-11-23T01:51:27.617 に答える