我正在搜索我的存储库(使用vim-fugitive' s:Ggrep),我有不同的.js文件 - 缩小的文件和常规文件。
我想省略git grep
缩小的文件(换句话说 - 与查询匹配的很长的行)。我查看git help grep
并用Google搜索但无法找到任何内容。欢迎所有的想法。
答案 0 :(得分:6)
对我来说,最好的方法是创建一个名为.gitattributes的文件和这个内容:
*.min.js binary
*.min.css binary
答案 1 :(得分:1)
grep是一个命令行实用程序,用于搜索与正则表达式匹配的行的纯文本数据集。 您可以使用正则表达式来限制搜索。
例如, 您可以使用花括号来控制出现次数。例如,这意味着0到10:
/^[a-z]{0,10}$/
选项包括:
{3} Exactly 3 occurrences;
{6,} At least 6 occurrences;
{2,5} 2 to 5 occurrences.
答案 2 :(得分:0)
Benni的解决方案相当不错。在此基础上,如果要使用稍微通用的解决方案,请使用git grep
在存储库中查找行长超过1500个字符的文本文件。然后在binary
中标记这些文件.git/info/attributes
。这是一个单行代码:
git grep -lI '.\{1500\}' | sed 's/$/ binary/' >> .git/info/attributes
当然,如果您要对此版本进行版本化(并且您的团队同意),也可以在.gitattributes
中记录下来。
答案 3 :(得分:0)
这实际上并没有按照要求省略长行,但是为了避免当一个很长的行匹配(例如缩小的javascript)时你的终端填满你可以配置git通过{{ 1}} 和 less
选项(-S
的缩写):
--chop-long-lines
或等效地将其添加到相关的 # For current repo only
git config --local core.pager "less -S"
# For all git repos
git config --global core.pager "less -S"
或 .gitconfig
.git/config