【发布时间】:2014-09-19 08:38:17
【问题描述】:
我目前正在开发一个程序来过滤存储在命令行数据库中的慢速数据库查询。
我想搜索除指定分支之外的所有分支中的所有提交,并返回所有匹配的提交。
我的过滤条件存储在数据库中(为我提供)。
例子:
我在数据库中有以下条目:
ID key Query
1 ABCDEF select * from example
2 0ABCDE select * from another_example
3 1ABCDE select * from you_get_the_picture
我现在对代码中尚未修复的查询感兴趣。所以我需要使用 key 作为搜索过滤器来搜索分支。
如果在提交中找到密钥,则跳过并查找下一个。如果未找到匹配项,则将其打印到标准输出。所有代码都可以正常工作,但我无法找到正确的 git 命令。
我有以下:
git grep 'ABCDEF' $(git rev-list ^origin/master) | xargs git show -s --format=%N%s
这应该返回除 origin/master 之外的所有分支的提交消息中包含“ABCDEF”的所有提交。
但是,git 命令不会返回任何不可能的内容,因为我知道这些提交就在那里。
我的 git 命令不正确吗?在此先感谢您的任何指点。
【问题讨论】:
-
您是否验证过 git grep 'ABCDEF' $(git rev-list ^origin/master) 为您提供了预期的输出?
-
我已经检查了 git grep 'ABCDEF' $(git rev-list --all) 并且结果还可以。我现在正在检查,但需要一段时间...
标签: git git-branch git-commit git-show