Windows 搜索索引器正在将大多数存储库文件夹(.git 和 .svn)的路径添加到排除列表中。
我当然可以手动删除它们,但每次我重建索引时它们都会被重新添加。
我可以将它们添加为索引位置,但每次添加新存储库时我都必须这样做,并根据关系将它们添加到不同的位置。
为什么 Windows 要排除这些以及我该如何改变这种行为?
想知道它是如何将它们识别为存储库的。因为来自的存储库C:\user\dropbox\path\to\repo
会被自动排除,而来自的项目c:\msys64\home\user
则不会被排除。如果我能理解是什么触发了它被识别为存储库,我或许就能理解其中的区别以及如何修复这种行为。
答案1
就像您的屏幕截图所示,它似乎是一项“功能”。我建议使用 Windows 反馈应用报告问题,或投赞成票这如果该链接对您有用,请参阅 Windows 反馈项目(可能需要使用个人 Microsoft 帐户,而不是工作/学校帐户)。
答案2
我知道这是个迟来的答案,但我找到了一个解决方法。如果您选择文件夹(在我的情况下是 c:\code),然后进入文件夹中的每个存储库并排除隐藏的“.git”文件夹,索引器似乎可以工作。
答案3
在 Win 10 上,我发现了如何使搜索功能适用于 git repo 文件夹。在我的例子中,所有 git 初始化的 repo 文件夹都在文件C:\Users\USERNAME\Work\
夹中。整个用户文件夹都经过检查以进行索引索引选项,索引此文件夹及其内容会自动触发创建排除文件夹规则对于 Windows 设置中的每个存储库 > 搜索 >搜索窗口(ms-设置:cortana-windowssearch)。
能够搜索的解决方法:
- 删除所有 repos 规则
- 使用 regedit 验证
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules\
这些 repos 的规则是否已全部删除 - 通过取消选中来排除该文件夹
C:\Users\USERNAME\Work
(这样就不会尝试进一步索引,从而防止再次创建所有这些排除规则) - 该文件夹仍然不会被索引,但至少您可以在其中搜索(但可能很长......)
我曾见过一位同事将他的所有存储库直接放在一个文件夹中C:\
(比如说C:\Work
),并且它们实际上已被编入索引!他使用的是 Win 11,因此如果有使用 Win 11 的人可以就此问题提供反馈,那就太好了 :)
当然,我尝试复制,但是在索引过程中,该存储库立即被排除,至于我的文件夹C:\Users
......