git ls-tree db / * .rb无效

时间:2010-03-29 06:41:54

标签: git

我在看man page for git ls-tree。它有一个路径选项。

我有一个名为db的目录,在该目录中我有几个.rb文件。

然后为什么我的命令失败

git ls-tree db/*.rb

1 个答案:

答案 0 :(得分:2)

首先是actual man page is here。这是最新Git版本的页面。

其次,该官方手册页说:

  

列出给定树对象的内容,例如“/bin/ls -a”在当前工作目录中的内容。
  请注意:

     
      
  • 行为与“/bin/ls”的行为略有不同,因为路径仅表示要匹配的模式列表,例如所以指定目录名称(没有-r)的行为会有所不同,参数的顺序无关紧要。

  •   
  • 行为类似于“/bin/ls”的行为,因为路径被视为相对于当前工作目录。
      例如。当您在具有目录目录的目录子中时,可以运行 git ls-tree -r HEAD dir 列出树的内容(sub/dir中的HEAD) 。
      在这种情况下,您不希望提供不在根级别的树(例如git ls-tree -r HEAD:sub dir),因为这会导致在sub/sub/dir提交中要求HEAD。但是,可以通过传递--full-tree选项来忽略当前工作目录。

  •   

在你的情况下:

git ls-tree HEAD db/*.rb

可能会更好。