在git-scm.org文档中,在git objects章节中,它使用下面的命令,但尝试它时会显示“zsh:未找到匹配项:master^{tree}"。知道哪里不对吗
git cat-file -p master^{tree}
vh0rcniy1#
我发现在指定那些更棘手的git版本参数时,我必须用引号引起来
git cat-file -p "master^{tree}"
而忽略"失败。此行为及其原因因平台而异:
"
^
git cat-file -p master^^{tree}
(感谢Wumpus Q。Wumbley和Kostix的解释)
ax6ht2ek2#
如果你想运行whatever而不使用globbing,你可以运行noglob whatever。例如,我将它定义为rake的别名。
whatever
noglob whatever
rake
nnsrf1az3#
此错误的各种可能情况:根据您使用的shell,在使用master^{tree}语法时可能会遇到错误。在Windows上的CMD中,^字符用于转义,因此您必须将其加倍以避免这种情况:git cat-file -p master^^{tree}.使用PowerShell时,使用{}字符的参数必须用引号括起来,以避免参数被错误解析:git cat-file -p 'master^{tree}'。如果你使用ZSH,^字符用于globbing,所以你必须把整个表达式用引号括起来:git cat-file -p“master^{tree}".正如villasv所指出的:如果您确实得到“Not a valid object name master^{tree}”,请确保至少完成了一次提交。master分支在git init之后还不存在。- villasv“由于master^{tree}语法指定了master分支上最后一次提交所指向的树对象,引用为git object在提交当前更改后,可以执行git cat-file -p 'master^{tree}'。
git cat-file -p 'master^{tree}'
nwlqm0z14#
在Windows中执行该步骤之前需要克隆项目。
kdfy810k5#
根据您使用的shell,在使用master^{tree}语法时可能会遇到错误。在Windows上的CMD中,^字符用于转义,因此您必须将其加倍以避免这种情况:git cat-file -p master^^{tree}.使用PowerShell时,使用{}字符的参数必须用引号括起来,以避免参数被错误解析:git cat-file -p 'master^{tree}'。如果你使用ZSH,^字符用于globbing,所以你必须把整个表达式用引号括起来:git cat-file -p“master^{tree}".
5条答案
按热度按时间vh0rcniy1#
我发现在指定那些更棘手的git版本参数时,我必须用引号引起来
而忽略
"
失败。此行为及其原因因平台而异:
^
字符用于转义。因此,作为替代,您可以编写git cat-file -p master^^{tree}
^
字符用于globbing(感谢Wumpus Q。Wumbley和Kostix的解释)
ax6ht2ek2#
如果你想运行
whatever
而不使用globbing,你可以运行noglob whatever
。例如,我将它定义为rake
的别名。nnsrf1az3#
此错误的各种可能情况:
根据您使用的shell,在使用master^{tree}语法时可能会遇到错误。
在Windows上的CMD中,^字符用于转义,因此您必须将其加倍以避免这种情况:git cat-file -p master^^{tree}.使用PowerShell时,使用{}字符的参数必须用引号括起来,以避免参数被错误解析:git cat-file -p 'master^{tree}'。
如果你使用ZSH,^字符用于globbing,所以你必须把整个表达式用引号括起来:git cat-file -p“master^{tree}".
正如villasv所指出的:如果您确实得到“Not a valid object name master^{tree}”,请确保至少完成了一次提交。master分支在git init之后还不存在。- villasv“由于master^{tree}语法指定了master分支上最后一次提交所指向的树对象,引用为git object在提交当前更改后,可以执行
git cat-file -p 'master^{tree}'
。nwlqm0z14#
在Windows中执行该步骤之前需要克隆项目。
kdfy810k5#
根据您使用的shell,在使用master^{tree}语法时可能会遇到错误。
在Windows上的CMD中,^字符用于转义,因此您必须将其加倍以避免这种情况:git cat-file -p master^^{tree}.使用PowerShell时,使用{}字符的参数必须用引号括起来,以避免参数被错误解析:git cat-file -p 'master^{tree}'。
如果你使用ZSH,^字符用于globbing,所以你必须把整个表达式用引号括起来:git cat-file -p“master^{tree}".