Re: [PATCH] rebase: add --forget to cleanup rebase, leave HEAD untouched
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 26, 2016, 16:51 UTC
- Message-ID
- <xmqq60ofcavd.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <20161026094658.20704-1-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
Show 16 quoted lines
> There are occasions when you decide to abort an in-progress rebase and > move on to do something else but you forget to do "git rebase --abort" > first. Or the rebase has been in progress for so long you forgot about > it. By the time you realize that (e.g. by starting another rebase) > it's already too late to retrace your steps. The solution is normally > > rm -r .git/<some rebase dir> > > and continue with your life. But there could be two different > directories for <some rebase dir> (and it obviously requires some > knowledge of how rebase works), and the ".git" part could be much > longer if you are not at top-dir, or in a linked worktree. And > "rm -r" is very dangerous to do in .git, a mistake in there could > destroy object database or other important data. > > Provide "git rebase --forget" for this exact use case.
Two and a half comments.
- The title says "leave HEAD untouched". Are my working tree files and my index also safe from this operation, or is HEAD the only thing that is protected?
- I think I saw a variant of this gotcha for an unconcluded cherry-pick that was left behind, which the bash-prompt script did not notice but the next "git cherry-pick" did by complaining "you are in the middle" or something like that. Perhaps we would want to have a similarly sounding option to help that case, too, not in this patch but as another patch on the same theme?
- Would it have helped if bash-prompt were in use? I am not saying that this patch becomes unnecessary if you use it; I am trying to see if it helps its users by reminding them what state they are in.