创建了fixup git commits之后,有没有办法显示或显示cat-file或某些内容并确定其目标提交? 具体来说,我不想一直猜测和检查rebase -i来发现我的rebase目标在历史上已经足够远了。
答案 0 :(得分:2)
我假设您的意思是使用git commit --fixup
生成的提交。
Git使用修正提交的提交消息的第一行,它类似于以下内容:
fixup! Remove some foos from bars
要查找此提交,您可以使用Git本身将使用的完全相同的方法:它搜索让Git在历史记录中进行搜索,直到找到以{之后的文本开头的提交{1}}令牌。魔术命令是:
fixup!
这将从git show 'HEAD^{/Remove some foos}'
开始搜索,并显示与大括号中的文本匹配的第一个提交(无HEAD
,这是搜索以下文本的说明)
编辑:当我在Windows CMD中测试内容时(尤其是对/
的处理),我真的很困惑。正如@torek在注释中指出的那样,^
语法在整个提交消息中匹配给定的正则表达式。因此,有必要将正则表达式锚定在文本的开头。正确的命令是:
^{/xyz}