我执行了这样的rebase:
git rebase --onto master new_background_processing export_background_processing
那没有做我想要的,所以我进行了重置:
git reset --hard HEAD@{1}
我让我的分支恢复到原来的状态,但是当我输入git status时收到了这条消息:
# You are currently rebasing branch 'export_background_processing' on 'e378641'.
如何完全取消该基础?不确定这本身就意味着什么。
答案 0 :(得分:252)
使用git rebase --abort
。来自official Linux kernel documentation for git rebase
:
git rebase --continue | --skip | --abort | --edit-todo
答案 1 :(得分:52)
如果你没有正确中止过去的rebase,你现在(Git 2.12,2017年第一季度)有git rebase --quit
commit 9512177查看Nguyễn Thái Ngọc Duy (pclouds
)(2016年11月12日)。
(Junio C Hamano -- gitster
--合并于commit 06cd5a1,2016年12月19日)
rebase
:添加--quit
以清理rebase,保持其他所有内容不受影响在某些情况下,您决定中止正在进行的rebase和 继续做其他事情,但你忘记做“
git rebase --abort
” 第一即可。 或者,在你忘记这么长时间之后,rebase一直在进行中 它。当你意识到这一点时(例如,通过启动另一个rebase) 追溯你的步骤已经太晚了。解决方案通常是rm -r .git/<some rebase dir>
继续你的生活。
但是<some rebase dir>
可能有两个不同的目录(显然需要了解rebase如何工作),如果你不在顶层,那么“.git
”部分可能要长得多,或者在链接的工作树中。并且“rm -r
”在.git
中非常危险,可能会破坏对象数据库或其他重要数据。为此用例提供“
git rebase --quit
”,模仿先例 这是“git cherry-pick --quit
”。
答案 2 :(得分:9)
你很幸运,你没有完成变基,所以你仍然可以git rebase --abort
。如果你已经完成了rebase(它重写了历史),事情就会复杂得多。在进行潜在的破坏性操作(特别是历史记录重写)之前,请考虑标记分支的提示,这样就可以在出现问题时进行倒带。
答案 3 :(得分:2)
如果您要取消,正在“重新设置” ,“已开始重新设置基准” ,只需对全部(#)
进行注释提交在rebase编辑器中列出的内容。
因此,您将收到命令行消息
Nothing to do