Git:如何检查特定目录中的所有已提交的.css文件?

时间:2012-10-03 14:15:08

标签: git git-checkout

我添加并删除了/webroot/modules/mod_menu中的一堆文件,我希望从上次提交中获取所有.css文件。不幸的是,我删除了它们,我不记得他们的名字。

如果我尝试

git checkout HEAD^ /webroot/modules/mod_menu/*.css

它失败并显示

之类的消息
error: pathspec '/webroot/modules/mod_menu/css_5XB5aQOGzDUVxnwtHDXg0AJDjmjZbe2Sh1K2BEkR5cM.css' did not match any file(s) known to git.
error: pathspec '/webroot/modules/mod_menu/css_foYlSNpOa-3y78f5xFwefA_kiFD67qfm6I1kXpro1XI.css' did not match any file(s) known to git.
error: pathspec '/webroot/modules/mod_menu/css_n7aK8s-ciXhQyEYWNOJtISbWxtxQiQvnD-N_xWUtD5A.css' did not match any file(s) known to git.

这是有道理的:它尝试签出的文件是新文件,而不是我之前提交的文件。但如果我不知道文件的名称,我该如何检查它们?

1 个答案:

答案 0 :(得分:0)

checkout的文档在“概要”部分

中有此内容
git checkout [-p|--patch] [<tree-ish>] [--] [<paths>…]

您似乎错过了--<tree-ish>之间的<paths>。以下应该有效。

git checkout HEAD^ -- /webroot/modules/mod_menu/*.css

  那是什么 - ? ...

根据this answer 双短划线用于从文件路径中分隔引用,例如masterHEAD ...