什么是Mercurial revsets的git等价物?

时间:2014-03-20 00:00:01

标签: git mercurial mercurial-revsets

Mercurial有一种名为revsets的特定于域的语言,允许用户指定修订集。

例如,您可能希望列出尚未合并到分支default中的补丁:

hg log -r "all() - ancestors('default')"

作为一个更复杂的示例,上面的链接提供了在修订标记为1.3和修订标记为1.5之间列出变更集的示例,其中提到了“bug”并影响了目录中的文件{{ 1}}:

hgext

revset语言非常丰富,允许根据日期,用户名,提交消息,是否存在特定远程位置的提交等来选择变更集。

git是否有相同的机制来查询变更集,无论是在核心程序中还是作为扩展名提供?

1 个答案:

答案 0 :(得分:2)

列出除默认主分支之外的所有提交,就像我假设第一个例子那样:

git log --all --not master

要获得与第二个示例相同的结果:

git log 1.3...1.5 --grep="bug" -- hgext