powershell で posh-git を使用すると、変更された作業ツリー内のすべてのアイテムを一覧表示できます。コレクション変数 $GitStatus.Working を使用すると、このリストを where 句で使用して、ディレクトリの一覧を次のようにフィルター処理できます。
dir | where {$GitStatus.Working -contains $_.Name}
これは、現在のディレクトリ内で変更されているがまだインデックスに含まれていないすべてのファイルを表示するのに非常にうまく機能しますが、同じコマンドを -recurse ディレクティブで実行すると、ファイルが一致しなくなります。理由がわかりません。何か案は?
( Scott Hanselmanの Posh-GiTDirも同じ問題に苦しんでいることに注意してください。彼は基本的に同じ手法を使用して「Git」列を表示しているため、驚くことではありません)
編集:これは、再帰的なディレクトリの一覧表示を行ったときに Posh-GitDir Git 列に何も表示されないことに気付いたときに始まりました。「このフォルダーから」何が変更されたかをすばやく確認できると便利です。Posh-GitDir が情報を取得する方法を調べて、再帰で機能しなかった理由をデバッグしようとしました。