1. ホーム
  2. git

[解決済み] パターンによるファイルの再帰的追加

2022-04-13 02:55:28

質問

異なるディレクトリにあるパターン(またはグロブ)のファイルを再帰的に追加するにはどうすればよいですか?

例えば A/B/C/foo.javaD/E/F/bar.java (といった複数のjavaファイルを1つのコマンドで実行できます。

git add '*.java'

残念ながら、これは期待通りにはいきません。

解決方法は?

Sergio Acostaの回答 追加するファイルがまだ追跡されていない可能性がある場合は、おそらく最善の方法です。git がすでに知っているファイルに限定したい場合は、次のようにします。 git-ls-files というフィルタがあります。

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

Gitはこれを行うための派手なメカニズムを提供していません。基本的にはシェルの問題であり、与えられたコマンドの引数として提供するファイルのリストをどのように取得するかということだからです。