我在Windows上使用GIT。如何在包含小写目录名称的所有提交中搜索存储库中的目录?示例我有以下文件
搜索应返回以下结果。
答案 0 :(得分:0)
你可以告诉git忽略大小写不匹配:
git config --global core.ignorecase true
(全局设置)git config core.ignorecase true
(针对特定存储库)答案 1 :(得分:0)
This thread可能有助于检测除相同情况之外的所有相同路径:
你可以这样做:
git ls-files | tr A-Z a-z | sort | uniq -d
但:
- 它只会打印小写版本,而不是所有版本。
- 它不处理带有嵌入换行符的文件名。
醇>您可以使用以下内容修复两者:
git ls-files -z | perl -0ne '
push @{$h{lc($_)}}, $_;
END {
print join("\n", @{$h{$_}}) . "\n\n"
foreach grep { @{$h{$_}} > 1 } keys(%h);
}
'
该主题的其余部分讨论了git ls-files
(可能很慢)与git ls-tree -r <commit>
的优点。