tree コマンド実行時、Git 管理対象外のファイルを除外する

tree コマンド実行時に、Git 管理対象外のファイルやディレクトリを除外するには。

最も原始的にやるなら、以下のように -I オプションで除外パターンを書く方法。

$ tree -a -I '.DS_Store|.git|node_module' -N

そうではなく、.gitignore を参照してファイルを除外したい場合は、次のように git ls-files と、tree --fromfile=. (標準入力からパスのリストを受け取る) を利用する。

$ git ls-files | tree --fromfile=.

イイカンジ〜