Git

rmした複数のファイルをまとめてgit rmする

More than 3 years have passed since last update.

git管理下にある複数のファイルをrmしたときに、それらを一括してgit rmしたい場合の方法です。

% git rm `git ls-files --deleted`

git ls-filesコマンドは、gitの管理状況ごとにファイルを一覧表示するためのコマンドで、上のように--deletedを使えば削除されたファイルを表示します。他にも

--unmergedでコンフリクトしたファイル表示、--excludeを使えば管理外のファイルの非表示条件も設定できます。

シェルでは「`」でくくればコマンドの実行結果を取得できるので、それによって得られたファイル一覧をgit rmで消す、という流れです。

一括削除する方法では、これ以外にもgit stgrep deletedしたのを整形するなど色々と手段はあるようですが、上記の方法が一番シンプルで分かりやすいので使っています。