1. ホーム
  2. git

[解決済み] すべてのgitサブモジュールの最新版を簡単にプルする方法

2022-03-17 16:35:34

質問

私たちはgitサブモジュールを使って、私たちが開発した他の多くのライブラリに依存しているいくつかの大きなプロジェクトを管理しています。各ライブラリは、サブモジュールとして依存関係にあるプロジェクトに持ち込まれた別のレポです。開発中は、依存関係にあるすべてのサブモジュールの最新版を取得したいことがよくあります。

git には、このようなことを行うためのコマンドが組み込まれていますか? なければ、Windowsのバッチファイルなどでできるようにするのはどうでしょうか?

解決方法は?

もし 初回 を使用してチェックアウトする必要があります。 --init を最初に指定します。

git submodule update --init --recursive

について git 1.8.2 またはそれ以上の場合、オプション --remote が追加され、リモートブランチの最新tipへの更新をサポートするようになりました。

git submodule update --recursive --remote

で指定された非デフォルトのブランチを尊重するという利点もあります。 .gitmodules または .git/config ファイル(もしあれば、デフォルトは origin/master ですが、その場合、ここにある他の回答も同様に機能します)を使用します。

について ギット1.7.3 を使用することができます (ただし、どのようなアップデートを行うかに関する以下のゴチャゴチャが適用されます)。

git submodule update --recursive

または

git pull --recurse-submodules

サブモジュールを、レポが指す現在のコミットではなく、最新のコミットでプルしたい場合。

参照 git-submodule(1) 詳細はこちら