难以为 --fixup 选择按消息提交而不是散列提交

par*_*oid 0 git

我正在寻找一种使用提交消息而不是 HEAD 或提交哈希中的关系来选择提交的方法,发现这是可能的,但我无法让它工作。

我确实有一个先前的提交,其中有一条以“Enable git rebase --autosquash”开头的提交消息(作为示例)。

$ git add -u
$ git commit --fixup=amend:/'Enable git rebase --autosquash' -m "New message example"
fatal: could not lookup commit /Enable git rebase --autosquash
Run Code Online (Sandbox Code Playgroud)

正如我所说,有一个提交包含一条以该字符串开头的消息。我在这里做错了什么?

lar*_*sks 5

您没有完全正确的语法。

回想起那个:

  1. --fixup选项的语法是--fixup=[(amend|reword):]<commit>

  2. 通过字符串指定提交的语法是:/<string>

如果将<commit>第一条规则替换为第二条规则中的语法,您将得到:

git commit --fixup=amend::/'Enable git rebase --autosquash'
Run Code Online (Sandbox Code Playgroud)

注意两个冒号。