I have looked, searched, and read documentation and can't really find anything about this.
Basically, I want 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/*
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
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
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.
来源:https://stackoverflow.com/questions/5012086/does-git-support-wildcards-in-paths