git 变基中止和空引用日志



我愚蠢地中止了一个被遗忘的变基,上面都有提交和未提交的更改,所以它把一切都搞砸了,类似于这样的问题。

我知道 reflog 并立即去查看那里,但它只包含一个无用的预变基状态的哈希。这是怎么回事?如何丢失引用日志条目?

编辑:为了回应下面的@kan,大致是我所做的:

git checkout badbranch
git rebase master
# CONFLICT, realized branch was bad and not needed anymore, but did not rebase --abort!
git branch -D badbranch
git checkout goodbranch
# some commits and edits here
git commit -av
# notices "you are currently rebasing" in the commit message
git rebase --abort # DOH
git reflog

引用日志现在仅包含a8f06a6 HEAD@{2}: rebase: updating HEAD

这在 Git 2.39(2022 年第 4 季度)中应该更清楚:

请参阅菲利普伍德 (><phillipwood 年=" _x0031_0=" 月=" _x0031_2=" _x0031_7=" C=" Hamano=" gitster=" />(由泰勒·布劳 -- ttaylorr -- 合并于 提交 8851c4b,2022 年 10 月 30 日)

rebase --abort:改进引用日志消息

签名者:菲利普·伍德

中止变基时,引用日志消息如下所示

rebase (abort): updating HEAD

这不是很有信息量.
通过提及我们要返回的分支来改进消息,就像我们在成功变基结束时所做的那样,使其看起来像。

rebase (abort): returning to refs/heads/topic

如果在环境中设置了GIT_REFLOG_ACTION,我们不再从 reflog 消息中省略 "(abort).
在这种情况下,我们在开始和完成变基时不会省略"(开始)"和"(完成)",因此我们不应该省略"(中止)"。

因此,从 Git 2.39(2022 年第 4 季度)开始,git reflog应该对您有更好的帮助。

<小时 />

此外,仍然使用 Git 2.39(2022 年第 4 季度),请避免设置GIT_REFLOG_ACTION以提高音序器内部的可读性。

请参阅菲利普phillipwood伍德的提交 0e34efb,提交 d188a60(2022 年 11 月 9 日).
(由 Junio C Hamano -- gitster -- 合并于 提交 ff84d03,2022 年 11 月 23 日)

rebase : 停止导出GIT_REFLOG_ACTION

签名者:菲利普·伍德
评论者: Ævar Arnfjörð Bjarmason
签名者:泰勒·布劳

现在结构replay_opts有一个reflog_action成员,我们在启动变基时不再需要导出GIT_REFLOG_ACTION.
如果用户设置了GIT_REFLOG_ACTION那么我们在初始化时使用它 reflog_action .

相关内容

  • 没有找到相关文章

最新更新