在创建 fixup git commits 之后,有没有办法显示或 cat-file 或提交的内容并找出它的目标提交?具体来说,我不想一直猜测和检查 rebase -i 以发现我的 rebase 目标在历史上已经足够远了。
我假设您的意思是使用git commit --fixup
.
Git 使用修复提交的提交消息的第一行,它看起来类似于:
fixup! Remove some foos from bars
要查找此提交,您可以 使用与 Git 本身将使用的完全相同的方法:它搜索 让 Git 在历史记录中搜索,直到找到以fixup!
令牌后的文本开头的提交。神奇的命令是:
git show 'HEAD^{/Remove some foos}'
这将从 at 开始搜索HEAD
并显示与大括号中的文本匹配的第一个提交(sans /
,这是搜索以下文本的指令)。
编辑:当我在 Windows CMD 中测试东西时,我真的很困惑(特别是它对 的处理^
)。正如@torek 在评论中指出的那样,^{/xyz}
语法在整个提交消息上匹配给定的正则表达式。因此,需要将正则表达式锚定在文本的开头。正确的命令是:
git show 'HEAD^{/^Remove some foos}'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句