在 powershell 中使用 posh-git 我可以列出工作树中所有已更改的项目,通过使用集合变量 $GitStatus.Working,我可以在 where 子句中使用此列表来过滤目录列表,如下所示
dir | where {$GitStatus.Working -contains $_.Name}
这非常适合显示当前目录中已更改但尚未在索引中的所有文件,但是当我使用 -recurse 指令运行相同的命令时,文件不再匹配。我不明白为什么。有任何想法吗?
(注意来自Scott Hanselman的Posh-GiTDir 也遇到了同样的问题,毫不奇怪,因为他使用基本相同的技术来显示“Git”列)
编辑:当我注意到 Posh-GitDir Git 列在我执行递归目录列表时没有显示任何内容时,这开始了。能够快速查看“从这个文件夹向下”发生的变化非常有用,我查看了 Posh-GitDir 如何获取其信息以尝试调试它为什么不适用于递归。