如何在使用git grep命令时默认显示行号?

53

我知道在git grep中可以使用-n标志来显示结果的行号,例如

git grep -n "some string"

那么我如何在不创建别名的情况下默认包含此标志呢? 我发现 git config --global grep.lineNumber true,但似乎对我无效。


1
你的全局配置命令在~/.gitconfig下的[grep]中添加了lineNumber = true,但是当我使用git grep时也没有看到任何区别。 - Nathan Long
4个回答

60

从 git grep 手册中:

Options:

   -n, --line-number
       Prefix the line number to matching lines.

Configuration:

   grep.lineNumber
       If set to true, enable -n option by default.

全局开启: git config --global grep.lineNumber true


哦,我还应该注意到git grep忠实于普通grep的参数。 - ThorSummoner

34

我使用了你的命令设置了我的 grep.lineNumber,它对我很有效。

你考虑过使用 ack 吗?它更加适合程序员,并且在大多数主要 Linux 发行版的存储库中都有。


3
如果存在许多未跟踪或忽略的文件,使用git grep速度更快。 - kyb

28

在 .gitconfig 文件中添加以下内容:

[grep]                                                                                                                           
  linenumber = true        

如果你使用git grep,行号会被显示出来。


1
好的,这很有道理,而且它也起作用了。但是,例如使用“grep“text”*.py”之后,我会失去输出中的颜色。我该如何避免这种情况呢?谢谢,Roland。 - robaatz

11

您使用的命令

git config --global grep.lineNumber true

启用-n选项的正确方法是默认的方法。

但是这个功能直到v1.7.5-rc1才可用。有关更多信息,请查阅本地文档。

git grep --help

如果您感兴趣的话,这里是引入此功能的提交:

grep:允许通过配置默认启用 -E 和 -n


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接