我添加并删除了/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.
这是有道理的:它尝试签出的文件是新文件,而不是我之前提交的文件。但如果我不知道文件的名称,我该如何检查它们?
答案 0 :(得分:0)
checkout的文档在“概要”部分
中有此内容git checkout [-p|--patch] [<tree-ish>] [--] [<paths>…]
您似乎错过了--
和<tree-ish>
之间的<paths>
。以下应该有效。
git checkout HEAD^ -- /webroot/modules/mod_menu/*.css
那是什么 - ? ...
根据this answer 双短划线用于从文件路径中分隔引用,例如master
或HEAD
...