web-dev-qa-db-ja.com

gitサブモジュールの更新--remote vs git pull

ランニングの違いは何ですか

git submodule update --remote

cd <submodule directoy>
git pull

サブモジュールが以前にいくつかのブランチを追跡するように設定されていたと仮定すると:

git submodule add -b master [URL to Git repo]
36
user2924714

違いは:

  • git pullはサブモジュールブランチのみを更新しますが、サブモジュールリポジトリで自分でチェックアウトしたブランチであればどれでもかまいません。
  • git submodule update --remoteは、.gitmodule、およびデフォルトでは、--rebaseまたは--mergeが指定されているか、キーsubmodule.$name.updateは、rebasemerge、またはnoneに設定されます。

どちらの場合でも、親リポジトリに戻り、新しいサブモジュールSHA1参照を追加してコミットする必要があります。
これは、両方のインスタンスで、サブモジュールのSHA1が変更されるためです。つまり、ルートにちなんで命名された親リポジトリのgitlinkインデックスの特別なエントリ サブモジュールのフォルダー)を追加してコミットする必要があります。

37
VonC