标签: git-grep

git责备使用grep命令过滤的所有文件中的特定行

我知道如何在文件中运行gblame.

我知道如何在目录中的所有文件中grep内容.

我希望看到围绕那个包含内容的特定行的gblame.例:

$ blame -R "content" ./
Run Code Online (Sandbox Code Playgroud)

我看到了一个文件列表.我想要了解所有主题,并了解谁触及了这些代码行.

git blame vim-fugitive git-blame git-grep

5
推荐指数
1
解决办法
2219
查看次数

Git Grep多行中的多个单词

我想要git grep两个预先指定的单词(如果两个都存在,即ANDing)的文件,则假设这两个单词分别是word1word2

我试过了

git grep -e 'word1' --and -e 'word2'
Run Code Online (Sandbox Code Playgroud)

我也尝试过

git grep 'word1'.*'word2'
Run Code Online (Sandbox Code Playgroud)

但两者都仅在word1word2位于同一行时才检索结果,而第二个在行中排在第一位时不检索结果word2,这是我不希望的。

我想检索文件,即使两个单词不在同一行(我不确定将它们分开多少行,并且顺序也不重要;应该提取任何顺序)。

这可能吗 ?

git git-grep

5
推荐指数
2
解决办法
2619
查看次数

git grep <包含换行符的正则表达式>

我正在尝试在 Windows 机器上使用 git bash 的项目中的某些二进制运算符之后grep 所有换行符

尝试了以下不起作用的命令:

$ git grep "[+-*\|%]\ *\n"
fatal: command line, '[+-*\|%]\ *\n': Invalid range end

$ git grep "[+\-*\|%]\ *\n"
fatal: command line, '[+\-*\|%]\ *\n': Invalid range end
Run Code Online (Sandbox Code Playgroud)

好的,我不知道如何在字符集中包含“-”,但是在删除它之后仍然可以从字面上\n匹配字符n

$ git grep "[+*%] *\n"
somefile.py:            self[:] = '|' + name + '='
                                      ^^^
Run Code Online (Sandbox Code Playgroud)

转义反斜杠一次 ( \\n) 无效,转义两次 ( \\\n) 会导致正则表达式匹配\n(字面意思)。

在这里 grep 的正确方法是什么?

regex git git-grep

4
推荐指数
1
解决办法
6686
查看次数

我如何编写一个以字符串作为参数的 git 别名

我想为以下项目编写一个 git 别名:

git log --all --grep='Big boi'
Run Code Online (Sandbox Code Playgroud)

到目前为止我所拥有的是:

[alias]
    search = "!f() { str=${@}; echo $str; git log --all --grep=$str; }; f"
Run Code Online (Sandbox Code Playgroud)

这与字符串完美匹配,但给出了错误,我似乎无法弄清楚如何将字符串传递给 grep 标志。

$ user in ~/src/repo on master ? git search 'Big boi'
Big boi
fatal: ambiguous argument 'boi': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Run Code Online (Sandbox Code Playgroud)

如果有任何不同,我正在使用 zsh 。. .

git zsh git-alias git-grep

2
推荐指数
1
解决办法
198
查看次数

2
推荐指数
1
解决办法
908
查看次数

标签 统计

git ×5

git-grep ×5

regex ×2

blame ×1

git-alias ×1

git-blame ×1

git-log ×1

grep ×1

vim-fugitive ×1

zsh ×1