开发者

Does git support wildcards in paths?

I have looked, searched, and read documentation and can't really find anything about this.

Basically, I wan开发者_JAVA技巧t to be able to do this:

git reset -- *.exe

or

git reset -- */some_executable.exe

Instead of this:

git reset -- some/very/long/path/some_executable.exe

Also it'd be nice to be able to do this:

git reset -- topleveldirectory/another/subdirectory/*

Instead of this:

git reset -- topleveldirectory/another/subdirectory/SomeFile.cpp
git reset -- topleveldirectory/another/subdirectory/SomFile.h

I think I can use the wildcard * in git-add to add files, but haven't found anything that works in the case above.

Any suggestions or pointers to where I can look for more info?

Using: git version 1.7.3.1.msysgit.0 on 64-bit Windows 7


Git does support some pathspec globbing, but you need to be careful to shell-escape the characters so they aren't interpreted by in your case, msys bash, which doesn't support more sophisticated wildcard expansion.

EDIT: Also, for your reset example, you can just pass the directory as an argument to git reset and git will operate recursively.

git reset my/long/path

rather than

git reset my/long/path/*


To reset all exe files recursively from within a git folder, you can do the following:

git reset -- \*.exe

Or if you would like to add all java files within a specific sub-folder you can do that too, like this:

git add ./some/sub/folder/path/**/*.java

where ** means all folders recursively from this point in the path


In some cases however, one does need to use wildcards in a specific way to target a specific subset of files and not just all files, especially when working with git rm, or git checkout or git reset. You can achieve the same by simply escaping the wild card character.

git rm app/assets/javascript/templates/projects/\*.jst.ejs


At least in the case of subfolders/subfiles, there is no need for a wildcard.

git add .

...adds the current directory (.) and everything under it. The same goes for...

git add files/

...which would add ./files, ./files/foo.txt, and ./files/foo/bar.txt.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜