为什么git show filename显示一个diff?

为什么git show filename显示一个diff?,git,git-show,Git,Git Show,git show filenamedip显示一个差异,而 git show branch:path/to/filename显示文件的内容 我查看了帮助(git show--help),我的理解是它应该 默认为HEAD,即git show HEAD:filename 但这会产生我所期望的文件内容。有人有什么见解吗?git show相当于git show HEAD 在没有的情况下,它会打印日志消息和头部提交的更改文件的差异 使用,如果文件在提交中更改,它将打印日志消息和头提交的指定路径的差异。如果没

git show filename
dip显示一个差异,而
git show branch:path/to/filename
显示文件的内容

我查看了帮助(
git show--help
),我的理解是它应该 默认为HEAD,即git show HEAD:filename

但这会产生我所期望的文件内容。有人有什么见解吗?

git show
相当于
git show HEAD

在没有
的情况下,它会打印日志消息和头部提交的更改文件的差异

使用
,如果文件在提交中更改,它将打印日志消息和头提交的指定路径的差异。如果没有,则不打印任何内容。

git show
相当于
git show HEAD

在没有
的情况下,它会打印日志消息和头部提交的更改文件的差异


使用
,如果文件在提交中更改,它将打印日志消息和头提交的指定路径的差异。如果没有,则不会打印任何内容。

只是猜测,但它是否可能会在本地fs中显示文件的当前版本以及未提交的更改,并且由于存在合并冲突,它拼接了文件的两个版本,并等待您解决所述合并冲突?检查其他文本编辑器。一切都是干净的,我没有任何合并。我的问题很笼统,
git show
就是这样做的,我不明白为什么。我只是猜测一下,它是否在本地fs中显示了文件的当前版本,但有未提交的更改,并且由于存在合并冲突,它拼接了文件的两个版本,并等待您解决所述合并冲突?检查其他文本编辑器。一切都是干净的,我没有任何合并。我的问题很笼统,
git show
就是这样,我不明白为什么。你是对的。但是
git show HEAD:path/to/file
将显示文件的内容。
headfile
HEAD:path/to/file
之间有什么区别?@odCat这里指的是一个blob对象。看,我想我明白了:
git show HEAD file
将比较HEAD与file,而
git show HEAD:path/to/file
将仅对文件进行操作并显示其内容。你是对的。但是
git show HEAD:path/to/file
将显示文件的内容。
headfile
HEAD:path/to/file
之间有什么区别?@odCat这里指的是一个blob对象。看,我想我明白了:
git show HEAD file
将比较HEAD与file,而
git show HEAD:path/to/file
将仅对文件进行操作并显示其内容。