Git使用* filename指定文件

时间:2016-03-31 08:50:32

标签: git

this question中,答案说我可以使用*指向文件。

这适用于git add,但当我尝试将其与git checkout <commit> <file>一起使用时,我遇到了问题。

第二个答案中提到的git add **/DSManger.java方法也不适用于git checkout

leafpile (notification *+) Dev $ git add *NewTaskActivity.java  
(no problem)

leafpile (notification *+) Dev $ git checkout dbd1 *NewTaskActivity.java
error: pathspec '*NewTaskActivity.java' did not match any file(s) known to git.

为什么?

1 个答案:

答案 0 :(得分:0)

当你做一个git时,它会递归地添加你提出的内容(可以像你一样进行正则表达式)。

但是当你结账时,你需要提供完整的路径

您需要将完整路径传递给结帐

 # This is the syntax
 git checkout <commit> <file>

 # pass the full path to checkout
 git checkout <commit> /path/to/file/NewTaskActivity.java

 # checkout all files under the given folder:
 git checkout <commit id> -- path/to/folder/**

<强> Checking out file from different branch

# when checking out from branch you need to add the -- before the file path
git checkout <branch> -- <path to file>