私は、多くのサブモジュールを持つ作業現場で大きな既存のレポを扱っています。なぜそれがそのコミット選ぶん:私はgitはどのようにサブモジュールでチェックアウトするコミットを選択しますか?
git submodule update --checkout
を行う際にいくつかのモジュールは、特定のコミット(分岐のないヘッド)
git submodule update --checkout --force
Submodule path 'build/cmake': checked out '8ed3354a70974ec775eee94cdce57810deeda65f'
私の質問があり、チェックアウトは気づきましたか?
私の.gitmodulesはコミットまたはブランチを指定せず、.git/configも指定しません。
詳細情報:コミットは特定のブランチを参照していますが、私は設定ファイルで追跡していません。 – Ben
*すべての*サブモジュールは、特定のコミットをIDで指定します。これはGitのサブモジュールの性質です。 IDは実際のコミットに記録されます。スーパープロジェクトが 'master'ブランチ上にあり、' master'が現在 'a1234567'をコミットしている場合、Gitは' a1234567:build/cmake'を調べます。これは "gitlink"タイプのツリーエントリで、 '8ed335 ...'それはサブモジュール内でチェックアウトされるコミットです(分離されたHEADとして)。 – torek