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
を使うのがよいと思います。
参考: