使用git show时究竟是什么意思“:”?

时间:2016-04-13 05:26:47

标签: git

要查看文件提交我正在执行的文件git show filename 不仅要看到我正在做的更改:git show :filename

:是什么意思?

我可以在git中的其他命令中使用:吗?会怎么做?

2 个答案:

答案 0 :(得分:2)

在此上下文中,:表示在特定提交时显示文件的完整内容,并且在未指定其他提交哈希时隐含暂存区域。

例如,如果您有另一个哈希fafefefa1313,则可以执行以下操作以显示该提交时文件的外观。

git show fafefefa1313:filename

答案 1 :(得分:2)

正如git-show man page中所述,gitrevisions中记录了这一点。

  

<rev>:<path>, e.g. HEAD:README, :README, master:./README

     

后缀:后跟路径命名给定路径中的blob或树   由冒号前的部分命名的tree-ish对象。 :路径(空的部分   在冒号之前)是下面描述的语法的特例:content   记录在给定路径的索引中。以./或../开头的路径是   相对于当前工作目录。给定的路径将转换为   相对于工作树的根目录。这是最有用的   从具有相同树结构的提交或树中寻址blob或树   作为工作树。

目前还不清楚。这是一种在要求显示修订版和要求显示文件之间消除歧义的方法。

revision:filename会显示特定版本的文件名。

没有修订版的

:filename将显示暂存区域中显示的文件(也称为“索引”)。

这将适用于可以同时采用修订版或文件路径的命令。 git-show是我唯一能想到的。