gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 03:08:59 24 4
gpt4 key购买 nike

创建修复 git 提交后,是否有办法显示或 cat-file 或提交的内容并找出它的目标提交?具体来说,我不想一直用 rebase -i 来猜测和检查,以找出我的 rebase 目标在历史上足够早。

最佳答案

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

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

fixup! Remove some foos from bars

要找到此提交,您可以 使用 Git 本身将使用的完全相同的方法:它进行搜索 让 Git 在历史记录中搜索,直到找到以 fixup! 之后的文本开头的提交 token 。神奇的命令是:

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

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


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

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

关于git - 如何确定 git 修复提交的目标提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58219979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com