我在这个上留下了挠头。因此,在OSX上的git中,您可以添加如下文件:
git add *.java
它将添加具有* .java扩展名的所有文件。同样适用于.txt,json等。但是,当我做一个
时git add *.xml
没有任何反应。它没有在我的gitignore中指定,因此git使用git status
将其报告为已更改,但我似乎无法使用通配模式添加。
我没有问如何按模式递归添加文件,git,(或bash?)已经这样做了,正如我的第一个例子中所解释的那样。
系统:
答案 0 :(得分:4)
引用glob,使其传递给git
进行处理,而不是由shell扩展。
git add '*.xml'
答案 1 :(得分:0)
它们是嵌套的,因此根中有一些,子文件夹中有一些等等。
git add
只会在当前目录中添加的XML文件。 Shell globbing不包含子目录。这是一件普通的事情。
如果将文字glob传递给git add '*.xml'
,它将以递归方式应用它。
git-add
这是git add **/*.xml
的一项功能。如果你想要这样的东西,你可以turn on recursive globbing in bash 4。
find
或者您可以使用xargs
和find . -name '*.xml' | xargs git add
。
fname = %subst(fname:1:1);