我正在使用git show来检索在
Github上托管的特定修订版
elasticsearch上的文件内容.这是我在项目的根目录运行的git命令:
git show 63cbc8439357f496ce630c2eb35b2cf02342fa4b~1:rest-spec
但是,我收到以下错误:
fatal: bad object 63cbc8439357f496ce630c2eb35b2cf02342fa4b~1:rest-spec
rest-spec存在于版本63cbc8439357f496ce630c2eb35b2cf02342fa4b~1中,因为它在下一个版本中被更改.您可以在Github中看到下一个修订版here的更改,并使用以下命令使用我的本地克隆验证它:
git show 63cbc8439357f496ce630c2eb35b2cf02342fa4b
这是git show的输出(我只包括rest-spec的更改):
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
非常感谢您的帮助!
最佳答案 这是因为rest-spec是
elasticsearch存储库的子模块,因此不是属于(直接存储在)存储库中的对象.查看
tree of the 63cbc8439357f496ce630c2eb35b2cf02342fa4b~1 revision以确保rest-spec与其他对象不同.它通过
.gitmodules
文件记录在elasticsearch存储库中,并且引用的存储库
elasticsearch-rest-api-spec的内容通过git子模块命令作为超级项目的工作树(即elasticsearch存储库)中的子目录提供.有关详细信息,请参阅
Submodules chapter in the Git Book和
documentation of the git submodule
command.