我查看,搜索和阅读文档,但无法真正找到任何相关信息.
基本上,我希望能够做到这一点:
git reset -- *.exe
Run Code Online (Sandbox Code Playgroud)
要么
git reset -- */some_executable.exe
Run Code Online (Sandbox Code Playgroud)
而不是这个:
git reset -- some/very/long/path/some_executable.exe
Run Code Online (Sandbox Code Playgroud)
能够做到这一点也很高兴:
git reset -- topleveldirectory/another/subdirectory/*
Run Code Online (Sandbox Code Playgroud)
而不是这个:
git reset -- topleveldirectory/another/subdirectory/SomeFile.cpp
git reset -- topleveldirectory/another/subdirectory/SomFile.h
Run Code Online (Sandbox Code Playgroud)
我想我可以*在git-add中使用通配符来添加文件,但是在上面的例子中找不到任何有用的东西.
有什么建议或指示我可以在哪里寻找更多信息?
在64位Windows 7上使用:git版本1.7.3.1.msysgit.0
Mat*_*ght 18
Git确实支持一些pathspec globbing,但你需要小心shell-escape字符,以便它们不会被你的情况解释,msys bash,它不支持更复杂的通配符扩展.
编辑:此外,对于您的重置示例,您可以将目录作为参数传递给git reset,git将以递归方式运行.
git reset my/long/path
Run Code Online (Sandbox Code Playgroud)
而不是
git reset my/long/path/*
Run Code Online (Sandbox Code Playgroud)
但是,在某些情况下,确实需要以特定方式使用通配符来定位文件的特定子集,而不仅仅是所有文件,尤其是在使用时git rm,git checkout或者git reset.只需转义外卡字符即可实现相同功能.
git rm app/assets/javascript/templates/projects/\*.jst.ejs
Run Code Online (Sandbox Code Playgroud)
要从git文件夹中递归重置所有exe文件,您可以执行以下操作:
git reset -- \*.exe
Run Code Online (Sandbox Code Playgroud)
或者,如果您想在特定子文件夹中添加所有java文件,您也可以这样做:
git add ./some/sub/folder/path/**/*.java
Run Code Online (Sandbox Code Playgroud)
其中**表示路径中此点的递归方式的所有文件夹
| 归档时间: |
|
| 查看次数: |
18273 次 |
| 最近记录: |