问题标签 [git-grep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 使用 grep 命令过滤的所有文件中特定行的 git blame
我知道如何在文件中运行 gblame。
我知道如何 grep 目录中所有文件中的内容。
我希望看到包含内容的特定行的 gblame。例子:
我看到一个文件列表。我想归咎于所有主题,并了解谁触及了这些代码行。
git - 如何在 Sourcetree 中使用 git grep
如何在 SourceTree 中运行 git-grep?
我可以看到在Workspace
>下搜索提交消息、提交 SHA、分支、文件更改和用户的能力Search
,但不是工作区本身的内容。
从“帮助”菜单中搜索 SourceTree 帮助没有匹配“grep”,并且SourceTree 的 Atlassian Answers似乎没有任何方法可以搜索带有 sourcetree 标记的 grep 问题:grep [sourcetree]只得到了一次点击。
git - Git grep url 正则表达式
我正在尝试创建 bash 脚本来检查我的源代码以标记绝对 url,因为我们所有的开发人员在涉及内部链接时都应该使用相对 url。
我正在考虑创建一个 bash 脚本,然后可以将其作为我们预提交挂钩的一部分包含在内,因此使用 git grep 似乎也合乎逻辑。我一切正常,但是,我在使用 git grep 的正则表达式时遇到了一些困难。
这是我到目前为止所拥有的:
这是我正在做的测试,如果我希望它们被正则表达式标记:
http://www.example.com
- 未标记
(http://www.example.com
- 标记(我们使用降价,所以这将是降价文件中的链接)
"http://www.example.com
- 已标记(因为双引号表示这可能在 href 值中)
'http://www.example.com
- 标记(因为这也可能表示 URL 在 href 值中)
http://example.com
- 未标记
(http://example.com
- 标记
"http://example.com
- 标记
'http://example.com
- 标记
(http://example.com?param=abc
- 标记
"http://example.com?param=abc
- 标记
'http://example.com?param=abc
- 标记
(http://subdomain.example.com
- 未标记
仅使用命令行
对我最有效的是:git grep -n --cached -i -e "\((\|'\|\"\)\(http\|https\):\/\/\(www\.\)\?example\.com" -- '*.html' '*.md' ':!README.md'
但是,由于我必须做的所有字符转义并在 bash 文件中执行此操作时尝试在正则表达式周围获取引号,我似乎无法在 bash 文件中使其工作。
我回显出什么$FORBIDDEN_RE
是值,它似乎正在删除\"
第一个捕获组中正在寻找“(”、单引号或双引号的值。这是$FORBIDDEN_RE
我回显时的值:
git grep -n --cached -i -e "\((\|'\|"\)\(http\|https\):\/\/\(www\.\)\?example\.com" -- '*.md' '*.html' ':!README.md'
有什么想法我做错了什么,或者如何使正则表达式更容易与 git grep 一起使用?
git - Git Grep 多行上的多个单词
我想要git grep
有两个预先指定的词(如果两者都存在,即AND
ing)的文件,假设这两个词是word1
和word2
我试过了
我也试过
但只有当word1
和word2
位于同一行时才检索结果,第二个不检索如果word2
排在第一位,这是我不想要的。
我想检索文件,即使这两个词不在同一行(我不确定有多少行将它们分开,顺序并不重要;应该获取任何顺序)。
这可能吗 ?
git - 使用 git grep 时如何查看提交 sha?
我尝试使用git grep -i 'search' README.md
并且输出发现了一些我有兴趣查看的行,但是这些行没有打印出 git sha,因此我可以获得有关这些提交的更多信息。输出如下所示:
我如何看到这条线的 git sha?我查看了文档,其中甚至没有包含“commit”或“sha”这个词。
git - Git Grep 颜色选项解释和/或比较
我正在尝试为我的 Git 自定义颜色。
阅读完文档后,我找到了我想要设置的选项。
除了 Grep,一切都运行良好。我意识到,我过去并没有真正使用过它。
我想用相同的调色板为其设置颜色,但我无法测试其中一些......
我不知道matchContext
andmatch
指的是什么以及它们与 and 有何matchSelected
不同selected
。
matchSelected
为我搜索的实际文本设置颜色,同时selected
引用该匹配的行级(?)上下文。
那么,在match
做什么呢?设置什么matchContext
?到底在哪里对这些有好的、详细的描述呢?
任何人?
git - 运行 git grep 时关闭换行
有时我会做一个git grep
, 并且有一行太长了,因为换行占用了半页或更多。如果我想查看一长行的其余部分,我如何告诉我git grep
关闭换行,而不是要求我向右滚动?
如果相关的话,我在 OSX 上使用终端。https://git-scm.com/docs/git-grep没有指明git grep
命令输出到哪个程序(如果有)。
emacs - helm-grep-do-git-grep 在当前目录中搜索
helm-grep-do-git-grep 带有前缀 arg grep 整个 repo 并且没有 grep 只有当前目录。
我要反转
helm-grep-do-git-grep 没有前缀 arg grep 整个 repo 并且 grep 只有当前目录。
我如何定义一个函数来反转它或定义键盘快捷键?
regex - git grep
我正在尝试在 Windows 机器上使用 git bash 的项目中的一些二进制运算符之后 grep 所有换行符。
尝试了以下不起作用的命令:
好的,我不知道如何在字符集中包含“-”,但是在删除它之后仍然\n
匹配字符n
:
转义一次反斜杠 ( \\n
) 没有效果,转义两次 ( \\\n
) 会导致正则表达式匹配\n
(字面意思)。
在这里grep的正确方法是什么?
python - 通过 git grep 查找同时具有两个指定术语的文件
我正在尝试使用 git grep 在我的 git 存储库中查找文件,如果没有手动搜索,我没有简单的方法可以做到这一点。我找到了这样的一种解决方法:
但我想知道是否有类似于不需要xargs的方法:
这实质上意味着向我显示包含 term1 或 term2 的文件......是否有“显示包含这两个术语的文件”。
我正在尝试以一种对于将命令传递到其他命令中不实用的方式来使用 git grep 命令。我真的很讨厌使用 python 的 subprocess 模块及其对管道的使用......