私たちは、開発した他の多くのライブラリに依存するいくつかの大規模プロジェクトを管理するために、git サブモジュールを使用しています。各ライブラリは、サブモジュールとして依存プロジェクトに取り込まれる個別のリポジトリです。開発中は、依存するすべてのサブモジュールの最新バージョンを取得したいことがよくあります。
すべての Git サブモジュールの最新の変更を取得するにはどうすればよいですか?
ベストアンサー1
リポジトリを初めてチェックアウトする場合は、--init
まず以下を使用する必要があります。
git submodule update --init --recursive
git 1.8.2以降では、--remote
リモート ブランチの最新のヒントへの更新をサポートするオプションが追加されました。
git submodule update --recursive --remote
.gitmodules
これには、またはファイルで指定された「デフォルト以外の」ブランチを尊重するという追加の利点があります.git/config
(存在する場合、デフォルトは origin/master です。その場合は、ここにある他の回答のいくつかも機能します)。
git 1.7.3以上の場合は、以下を使用できます (ただし、更新に関する以下の注意事項は引き続き適用されます)。
git submodule update --recursive
または:
git pull --recurse-submodules
リポジトリが指す現在のコミットではなく、最新のコミットにサブモジュールをプルする場合。
見るgit サブモジュール(1)詳細については