通过提交消息查找修订
Finding a revision by commit message
我知道这种事情被问了很多(例如here),但是(可能是因为这个)我没能找到我要找的东西。
我知道我可以通过与其提交消息匹配的模式指定提交,而不是通过其散列,如下所示:
git show ":/rename function X to function Y"
这向我展示了消息以给定模式开头的最新提交,而无需我先搜索其哈希。
我的问题是:
此功能的名称是什么,记录在何处? (在 Google 中搜索 :/
是徒劳的)
如何获取该提交的 parent?这不起作用:
git show ":/pattern"^
有点难看,可能有更好的方法,但你可以使用类似下面的方法来找到父级:
git show $(git rev-parse ":/pattern")^
git rev-parse
给出指定修订版的 SHA1,您可以对其应用 ^
等运算符。或者,您可以使用 git name-rev --name-only
,这将为修订提供一个符号名称(例如 master~10
)。
:/
语法似乎没有专门的名称,在 gitrevisions(7) 手册页中有记录。
我知道这种事情被问了很多(例如here),但是(可能是因为这个)我没能找到我要找的东西。
我知道我可以通过与其提交消息匹配的模式指定提交,而不是通过其散列,如下所示:
git show ":/rename function X to function Y"
这向我展示了消息以给定模式开头的最新提交,而无需我先搜索其哈希。
我的问题是:
此功能的名称是什么,记录在何处? (在 Google 中搜索
:/
是徒劳的)如何获取该提交的 parent?这不起作用:
git show ":/pattern"^
有点难看,可能有更好的方法,但你可以使用类似下面的方法来找到父级:
git show $(git rev-parse ":/pattern")^
git rev-parse
给出指定修订版的 SHA1,您可以对其应用 ^
等运算符。或者,您可以使用 git name-rev --name-only
,这将为修订提供一个符号名称(例如 master~10
)。
:/
语法似乎没有专门的名称,在 gitrevisions(7) 手册页中有记录。