我正在處理一個大型的現有倉庫,它有許多子模塊。我注意到,當我做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