我如何递归地通过位于不同目录的模式(或glob)添加文件?
例如,我想用一个命令添加A/B/C/foo.java和D/E/F/bar.java(以及其他几个java文件):
git add '*.java'
不幸的是,这并没有像预期的那样起作用。
我如何递归地通过位于不同目录的模式(或glob)添加文件?
例如,我想用一个命令添加A/B/C/foo.java和D/E/F/bar.java(以及其他几个java文件):
git add '*.java'
不幸的是,这并没有像预期的那样起作用。
当前回答
由于这里没有提到,还可以考虑“魔术签名”:/来递归地添加项目根目录下的任何匹配项:
git add :/*.{java,pom}
Tx到:https://stackoverflow.com/a/64210713/2586761
其他回答
我只想添加基于git状态的特定字符串的文件:
Git 状态 |格雷普字符串 |xargs git add
然后能够git commit -m 'commit MSG来提交所有更改过的文件,文件标题中带有“string”
由于这里没有提到,还可以考虑“魔术签名”:/来递归地添加项目根目录下的任何匹配项:
git add :/*.{java,pom}
Tx到:https://stackoverflow.com/a/64210713/2586761
只需使用git添加*\*.java即可。这将添加根目录和所有子目录下的所有。java文件。
你可以使用git add [path]/\*.java从子目录中添加java文件, 例如,git为当前目录添加。/\*.java。
从git添加文档:
添加文档目录及其子目录下所有*.txt文件中的内容: $ git添加文档/\*.txt 注意,星号*引用自本例中的shell;这让该命令包含Documentation/ directory子目录中的文件。
我在GNUmakefile中使用的一个变体
.PHONY: docs
docs:
@echo docs
bash -c "if pgrep MacDown; then pkill MacDown; fi"
bash -c 'cat $(PWD)/HEADER.md > $(PWD)/README.md'
bash -c 'cat $(PWD)/COMMANDS.md >> $(PWD)/README.md'
bash -c 'cat $(PWD)/FOOTER.md >> $(PWD)/README.md'
bash -c 'pandoc -s README.md -o index.html'
bash -c "if hash open 2>/dev/null; then open README.md; fi || echo failed to open README.md"
#git add --ignore-errors *.md
git ls-files -co --exclude-standard | grep '\.md/$\' | xargs git