0

我在其中添加和删除了一堆文件,/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.

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

4

1 回答 1

0

结帐的文档在 SYNOPSIS 部分中有这个

git checkout [-p|--patch] [<tree-ish>] [--] [<paths>…]

看起来你错过了--between<tree-ish><paths>。以下应该工作。

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

那是什么 - ?...

According to this answer The double-dash is used to separate references, such as master or HEAD from file paths...

于 2012-10-03T14:18:09.903 回答