回答:
サブモジュールリポジトリは、特定のコミットを指す切り離されたHEAD状態のままです。そのコミットを変更するには、別のタグをチェックアウトするか、コミットして、変更を親リポジトリに追加するだけです。
$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0
git-status
親リポジトリでは、ダーティツリーが報告されます。
# On branch dev [...]
#
# modified: submodule (new commits)
サブモジュールディレクトリを追加し、新しいポインタを保存することをコミットします。
ステップ1:サブモジュールを追加する
git submodule add git://some_repository.git some_repository
ステップ2:サブモジュールを特定のコミットに修正する
デフォルトでは、新しいサブモジュールはマスターブランチのHEADを追跡しますが、プライマリリポジトリを更新しても更新されません。サブモジュールを変更して特定のコミットまたは別のブランチを追跡するには、ディレクトリをサブモジュールフォルダーに変更し、通常のリポジトリと同じようにブランチを切り替えます。
git checkout -b some_branch origin/some_branch
現在、サブモジュールはマスターのHEADではなく開発ブランチで修正されています。
git submodule add -b some_branch git://some_repository.git some_repository
git submodule add -b
、タグまたはsha1hash を使用できるとは思われません。ブランチを取ることができます。
-b
、タグやコミットshasではなくブランチをサポートすること-b
は、バグではなく機能です(実際にはの省略形です--branch
)。