如何使用"冒号斜线"修订简表并仍然引用提交的父级?

Ale*_*x R 4 git

假设我想引用最新提交的父级,其提交消息包含"foo".

HEAD^{/foo}^会做的.
这可以略微缩短为@^{/foo}^(我认为).

<rev>^{/<text>}尽管如此,结构还是简化了::/<text>.

有没有办法使用简短形式仍然可以引用生成的提交的父级?

Von*_*onC 5

git rev-parse命令之后,您可以组合其中两个以获取其消息与regexp匹配的提交的父级.

在git bash中,键入:

git rev-parse $(git rev-parse :/<text>)^
Run Code Online (Sandbox Code Playgroud)

这是两个命令:

  • 首先使用正确的消息获取提交: git rev-parse :/<text>
  • 然后得到它的父母 git rev-parse $(...)^

$()会执行第一个命令git rev-parse,并给予其结果的第二命令git rev-parse.

这将使您通过提交消息匹配来提交提交的父级<text>.


这与仅使用一个命令不同:

git rev-parse HEAD^{/<text>}^
Run Code Online (Sandbox Code Playgroud)

或者在Windows CMD中:

git rev-parse "@^{/<text>}^"
# or, more complex, as ^ is the windows escape sign:
git rev-parse ^@^^{/<text>}^^
Run Code Online (Sandbox Code Playgroud)