小编典典

按模式递归添加文件

all

如何通过位于不同目录中的模式(或 glob)递归地添加文件?

例如,我想用一个命令添加A/B/C/foo.javaD/E/F/bar.java(以及其他几个 java 文件):

git add '*.java'

不幸的是,这并没有按预期工作。


阅读 55

收藏
2022-07-07

共1个答案

小编典典

如果某些要添加的文件可能尚未被跟踪,Sergio Acosta的回答可能是您最好的选择。如果你想限制自己使用 git
已经知道的文件,你可以结合git-ls-files一个过滤器:

git ls-files [path] | grep '\.java$' | xargs git add

Git 本身并没有提供任何花哨的机制来执行此操作,因为它基本上是一个 shell 问题:如何获取文件列表以作为给定命令的参数提供。

2022-07-07