通过提交消息查找修订

时间:2015-09-17 09:41:52

标签: git revision-history commit-message

我知道这种事情被问了很多(例如here),但是(可能是因为这个)我无法找到我正在寻找的东西。

我知道我可以通过匹配其提交消息的模式来指定提交,而不是通过其哈希来指定提交,如下所示:

F:\Schoox\Python27\python.exe;
F:\Schoox\Python27;
F:\Schoox\Python27\Lib;
F:\Schoox\Python27\Scripts;
F:\Schoox\Python27\lib\site-packages;
F:\Schoox\Python27\Projects\folder1\; (I have tried also with ...folder1\MyProject)

这显示了最近的提交,其消息以给定模式开头,而我不必先搜索其哈希值。

我的问题是:

  1. 此功能的名称是什么?它在哪里记录? (在Google上搜索git show ":/rename function X to function Y" 是徒劳的)

  2. 如何获取该提交的?这不起作用:

    :/

2 个答案:

答案 0 :(得分:2)

它有点难看,而且可能有更好的方法,但您可以使用以下内容来查找父级:

git show $(git rev-parse ":/pattern")^

git rev-parse为指定的修订提供SHA1,您可以应用^等运算符。或者,您可以使用git name-rev --name-only,它会为修订提供符号名称(例如master~10)。

答案 1 :(得分:1)

:/语法似乎没有专用名称,并在gitrevisions(7)手册页中进行了说明。