我使用git顯示檢索文件內容在Github託管的elasticsearch的特定版本。這是我的git命令,我在項目的根目錄下運行:git在一個特定的文件返回'致命的:壞的對象'
git show 63cbc8439357f496ce630c2eb35b2cf02342fa4b~1:rest-spec
不過,我收到以下錯誤:
fatal: bad object 63cbc8439357f496ce630c2eb35b2cf02342fa4b~1:rest-spec
的其餘規格的版本存在63cbc8439357f496ce630c2eb35b2cf02342fa4b〜1因爲它在下一次修訂中被更改。你可以看到下一版本here在Github上的變化,我跟我的本地克隆用下面的命令驗證它:
git show 63cbc8439357f496ce630c2eb35b2cf02342fa4b
這是上面的git顯示輸出(I只包括其餘規格的變化):
diff --git a/rest-spec b/rest-spec
deleted file mode 160000
index b3ab724..0000000
--- a/rest-spec
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b3ab72486fae1b5c5a5397356a3e113bf72eb6d5
非常感謝您的幫助!
謝謝你的回答。 我用'diff --ignore-submodules'來過濾子模塊,並且它沒有出現在結果中。我們如何才能找出一個文件是子模塊?我們如何看到子模塊文件的內容? –
我遇到了另一個錯誤。如果您能幫助我解決@Leon問題,我將不勝感激。在提交** e7e1667a26de5472e3419c586682b92c37c6e7d3 **中,'diff --ignore-submodules'不會過濾子模塊,** rest-spec **出現在'git diff'中。你知道我怎麼可以在'git diff'中過濾子模塊**? 謝謝 –
@MohsenLaali我的信息來源是官方文檔。它表明'git diff --ignore-submodules = all'應該忽略子模塊中的所有變化,但是它也聲明'git diff --ignore-submodules'(沒有任何明確指定的模式)默認爲'--ignore-submodules = all'。然而,提交** e7e1667a26de5472e3419c586682b92c37c6e7d3 **的情況是,該提交中的rest-spec **不是子模塊,而是存儲庫(類型爲符號鏈接)的實際對象。這就是它出現在差異中的原因。 – Leon