Git の管理対象外のファイルのみ表示する方法

Git

Git の小ネタで、 Git で管理されていないファイルのみを一覧表示する方法についてです。

早速結論ですが、 git ls-files コマンドを使えば OK です。

git ls-files --others --exclude-standard

git ls-files は Git 管理下のファイルを一覧表示するためのコマンドです。 通常は管理されているファイルの一覧を返すのですが、 --others オプションを渡すことで管理対象外のファイルのみを一覧で表示します。 もうひとつの --exclude-standard オプションは .gitignore 等で無視されているファイルを除外するオプションです。

オプションの名前が長いので、利用頻度が高い場合は次のような感じでエイリアスを作っておくとよいと思います。

git config --global alias.untracked 'ls-files --others --exclude-standard'

こう設定しておけば次のコマンドで呼び出せます。

# Git でトラッキングされていないファイルのみを一覧表示する
git untracked

ちなみに、 git clean --dry-run でも似たことができるのですが、 git clean は間違って使った場合に危険なのと、各行が Would remove [ファイル名] という形で出力されるため、それを別のコマンドにパイプして利用するのがちょっと手間なので、この用途で使うのであれば素直に git ls-files を使うのがよいと思います。

参考:


アバター
後藤隼人 ( ごとうはやと )

ソフトウェア開発やマーケティング支援などをしています。詳しくはこちら