如果您以前没有适当地放弃基准,现在(Git 2.12,2017年第一季度) git rebase --quit
见犯9512177通过(2016年11月12日)阮泰玉维战(pclouds)。
(通过合并JUNIOÇ滨野- gitster-在提交06cd5a1 12月19日2016)
rebase:添加--quit到清理基准,保持所有其他内容不变
还有,当你决定中止进行中的底垫,并移动到别的做些什么场合,但你忘了做“ git rebase --abort”第一。或者,改库已经进行了很长时间,您忘记了它。到您意识到(例如通过启动另一个变基)时,现在已经来不及追踪您的步骤了。解决方法通常是
rm -r .git/<some rebase dir>
并继续您的生活。
但是可能有两个不同的目录<some rebase dir>(显然,它需要一些有关变基的工作原理的知识),.git如果您不在top-dir或链接的工作树中,则“ ”部分可能会更长。而“ rm -r”这样做非常危险.git,那里的错误可能会破坏对象数据库或其他重要数据。
git rebase --quit为此用例提供“ ”,以模仿“ git cherry-pick --quit” 的先例。
在Git 2.27(2020年第2季度)之前,由“ git merge --autostash” 创建的用于保持初始脏状态的存储条目在“ ”上被错误地丢弃git rebase --quit,已更正。
参见Denton Liu()的commit 9b2df3e(2020年4月28日)。(由Junio C Hamano合并--在3afdeef提交中,2020年4月29日)Denton-L
gitster
rebase:保存autostash进入stash reflog上--quit
签字人:刘丹顿
在a03b55530a(“ merge:教导--autostash选项”,2020-04-07,Git v2.27.0- 合并在批处理#5中)中,--autostash引入了该选项git merge。
(请参阅“是否可以git pull自动隐藏和弹出未完成的更改? ”。)
值得注意的是,当在git merge --quit存在自动存储条目的情况下运行时,它将保存到存储引用日志中。
这与自动git rebase --quit存储项只是简单地退出存在的当前行为相反。
采用git merge --quitin 的行为,git rebase --quit并将autostash条目保存到stash reflog中,而不仅仅是删除它。