如何确定 git 修复提交的目标提交?

  • 本文关键字:提交 目标 何确定 git git
  • 更新时间 :
  • 英文 :


创建修复 git 提交后,有没有办法显示或 cat-file 或其他东西来提交并找出它的目标提交? 具体来说,我不想一直猜测和检查变基 -i 来发现我的变基目标在历史上足够远。

我假设你的意思是用git commit --fixup生成的提交。

Git 使用修正提交的提交消息的第一行,如下所示:

fixup! Remove some foos from bars

要查找此提交,您可以使用与Git 本身完全相同的方法:它搜索让 Git在历史记录中搜索,直到找到以fixup!标记后的文本开头的提交。魔术命令是:

git show 'HEAD^{/Remove some foos}'

这将从HEAD开始搜索,并显示与大括号中的文本匹配的第一个提交(无/,这是搜索以下文本的指令(。


编辑:当我在Windows CMD中测试东西时,我真的很困惑(特别是它对^的处理(。正如@torek在注释中指出的那样,^{/xyz}语法在整个提交消息上与给定的正则表达式匹配。因此,有必要将正则表达式锚定在文本的开头。正确的命令是:

git show 'HEAD^{/^Remove some foos}'

最新更新