Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git日志显示文件存在,但无法签出_Git - Fatal编程技术网

Git日志显示文件存在,但无法签出

Git日志显示文件存在,但无法签出,git,Git,是否可以调用git log filepath并查看文件是否处于提交状态,但无法使用git checkout filepath将其签出 错误:pathspec“filepath”与git已知的任何文件都不匹配 我在同一棵树上工作 编辑:添加了包含git日志文件路径、git diff sha1id和git checkout文件路径的示例 您可以使用“仅签出”从当前提交获取当前版本。如果文件在当前提交中不存在,您将无法获得它。要查看文件,请签出提交: git checkout <sha1id&g

是否可以调用git log filepath并查看文件是否处于提交状态,但无法使用git checkout filepath将其签出

错误:pathspec“filepath”与git已知的任何文件都不匹配

我在同一棵树上工作

编辑:添加了包含git日志文件路径、git diff sha1id和git checkout文件路径的示例


您可以使用“仅签出”从当前提交获取当前版本。如果文件在当前提交中不存在,您将无法获得它。要查看文件,请签出提交:

git checkout <sha1id>

相反。

您可以使用checkout only从当前提交获取当前版本。如果文件在当前提交中不存在,您将无法获得它。要查看文件,请签出提交:

git checkout <sha1id>
相反。

git diff dc9ee9将提交的内容与SHA-1 dc9ee9与当前工作目录进行比较。特定文件的差异结果:

diff --git a/889e2e74-6ec3-448b-ad35-feb2187d9d2b b/889e2e74-6ec3-448b-ad35-feb2187d9d2b
new file mode 100644
index 0000000..0ae16b3
Binary files /dev/null and b/889e2e74-6ec3-448b-ad35-feb2187d9d2b differ
指示该文件不存在于commit dc9ee9中,但它存在于当前工作目录中。因此,从该提交中检出该文件将失败

事实上,从您的git日志输出来看,问题文件似乎是在下一次提交B2DF50ECD14472A1C38D2CD22698D498D4F3AB9604中提交的,因此您应该尝试使用以下方法,而不是git签出dc9ee9 889e2e74-6ec3-448b-ad35-feb2187d9d2b,请注意将提交与路径名分开的-语法:

git checkout b2df50 -- 889e2e74-6ec3-448b-ad35-feb2187d9d2b
此外,如果b2df50是您当前的负责人,您可以这样做:

git reset --hard HEAD -- 889e2e74-6ec3-448b-ad35-feb2187d9d2b
git diff dc9ee9将提交SHA-1 dc9ee9的内容与当前工作目录进行比较。特定文件的差异结果:

diff --git a/889e2e74-6ec3-448b-ad35-feb2187d9d2b b/889e2e74-6ec3-448b-ad35-feb2187d9d2b
new file mode 100644
index 0000000..0ae16b3
Binary files /dev/null and b/889e2e74-6ec3-448b-ad35-feb2187d9d2b differ
指示该文件不存在于commit dc9ee9中,但它存在于当前工作目录中。因此,从该提交中检出该文件将失败

事实上,从您的git日志输出来看,问题文件似乎是在下一次提交B2DF50ECD14472A1C38D2CD22698D498D4F3AB9604中提交的,因此您应该尝试使用以下方法,而不是git签出dc9ee9 889e2e74-6ec3-448b-ad35-feb2187d9d2b,请注意将提交与路径名分开的-语法:

git checkout b2df50 -- 889e2e74-6ec3-448b-ad35-feb2187d9d2b
此外,如果b2df50是您当前的负责人,您可以这样做:

git reset --hard HEAD -- 889e2e74-6ec3-448b-ad35-feb2187d9d2b

试着显示错误而不是描述ittry显示错误而不是描述itRight,我使用的是git checkout path,但是git日志显示该文件在提交时使用了sha1id,似乎我无法签出它。所以我想知道这是怎么发生的。为什么我的日志会告诉我,当我无法签出到该文件时,该文件会出现在提交中?请确切显示您正在使用的命令,以及git最多显示的输出,请将其作为问题的编辑。对,我使用的是git签出路径,但是git日志显示该文件处于带有sha1id的提交中,看来我查不出来。所以我想知道这是怎么发生的。当我无法签出文件时,为什么我的日志会显示该文件出现在提交中?请准确显示您正在使用的命令,以及git最多显示的输出,请将其作为问题的编辑。但是,如果我无法从git日志中签出文件,git日志889e2e74-6ec3-448b-ad35-feb2187d9d2b是否应该将dc9ee9显示为提交?我是不是误解了这是怎么回事?我采用git log filepath的意思是,给我一个文件所在位置的提交列表。我不清楚为什么会在git日志输出中显示提交,这可能取决于复制/重命名检测的设置。该文件的内容是否可能与显示该提交的另一个文件的内容非常相似,因为它认为下一次提交只是重命名或复制了一个不同的文件来创建此文件?您可以尝试git ls tree-r dc9ee9^{tree}来查看该文件是否确实存在,git whatchanged b2df50可以尝试找出git日志中包含提交的确切原因…谢谢!这非常有帮助:。。。似乎出于某种原因,它将一个条目作为删除,这就是它出现在日志中的原因。但是,如果我无法从git日志889e2e74-6ec3-448b-ad35-feb2187d9d2b签出文件,它是否应该将dc9ee9显示为提交?我是不是误解了这是怎么回事?我采用git log filepath的意思是,给我一个文件所在位置的提交列表。我不清楚为什么会在git日志输出中显示提交,这可能取决于复制/重命名检测的设置。该文件的内容是否可能与显示该提交的另一个文件的内容非常相似,因为它认为下一次提交只是重命名或复制了一个不同的文件来创建此文件?您可以尝试git ls tree-r dc9ee9^{tree}来查看该文件是否确实存在,git whatchanged b2df50可以尝试找出git日志中包含提交的确切原因…谢谢!这非常有帮助:。。。似乎出于某种原因,它将一个条目作为删除,这就是为什么它会被删除 它出现在日志中。