完全取消rebase
我进行了这样的rebase:
git rebase --onto master new_background_processing export_background_processing
这没有做我想要的,所以我做了一个重置:
git reset --hard HEAD@{1}
我把我的分支恢复到原来的状态,但是当我inputgit status的时候我收到了这个消息:
# You are currently rebasing branch 'export_background_processing' on 'e378641'.
我如何完全取消rebase? 不知道这是什么意思本身。
使用git rebase --abort
。 从git rebase
的官方Linux内核文档 :
git rebase --continue | --skip | --abort | --edit-todo
在过去你没有适当地放弃的情况下,你现在(git 2.12,2017年第一季度) git rebase --quit
见NguyễnTháiNgọcDuy( pclouds
) 提交的9512177 (2016年11月12日) 。 (由Junio C gitster
合并- gitster
– 提交06cd5a1 ,2016年12月19日)
rebase
:添加 – 清理rebase,保持一切不变有些时候,你决定放弃正在进行的重组,然后继续做别的事情,但是你忘了先做“
git rebase --abort
” 。 或者你已经忘记了这个事情了。 当你意识到这一点的时候(比如开始另一个rebase),回到你的脚步已经太迟了。 解决scheme通常是rm -r .git/<some rebase dir>
并继续你的生活。
但是可能有两个不同的目录用于<some rebase dir>
(显然它需要一些关于rebase如何工作的知识),如果你不在top-dir或链接中,“..git
”部分可能会更长worktree。 而“rm -r
”在.git
是非常危险的,那里面的错误可能会破坏对象数据库或其他重要数据。为这个用例提供“
git rebase --quit
”,模仿一个“git cherry-pick --quit
”的先例。
你很幸运,你没有完成rebase,所以你仍然可以做git rebase --abort
。 如果你完成了rebase( 重写历史 ),事情就会复杂得多。 在做潜在的破坏性操作(特别是历史重写)之前,考虑分支的提示,这样当某些事情发生时你可以倒带。