由於某種原因,git命令git clone --recursive [email protected]:foo/bar.git
並未從 子模塊中取得最新版本。git clone - 遞歸不拉最新的子模塊
對於子模塊「子」,它會回到舊的提交:
$ cd other/sub/
$ git log | head -1
commit 57d0df7269949ef6d5347c5a4556fde7eafef16d
$ grep -r 57d0df7269949ef6d5347c5a4556fde7eafef16d .git/*
.git/modules/other/sub/HEAD:57d0df7269949ef6d5347c5a4556fde7eafef16d
.git/modules/other/sub/logs/HEAD:b0e43d8acf9fc38257b20ab7317b2b86110e8f72 57d0df7269949ef6d5347c5a4556fde7eafef16d Me
<[email protected]> 1394764688 +0530 checkout: moving from master to 57d0df7269949ef6d5347c5a4556fde7eafef16d
任何想法,爲什麼發生這種情況?
How do I git clone --recursive and checkout master on all submodules in a single line?的一個答案表明我可能會將子模塊固定到特定的sha,作者說這是正確的方法。在我的情況下,當我執行克隆時,我想在我的主庫和它所指的所有子模塊中獲得最新版本。
如何確認子模塊是否固定在sha 57d0df7269949ef6d5347c5a4556fde7eafef16d?我如何刪除它?
感謝。