Re: [PATCH] rebase: add --forget to cleanup rebase, leave HEAD untouched
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 31, 2016, 19:25 UTC
- Message-ID
- <xmqqshrctj5v.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <CACsJy8CSz-2A56okV6kWBjGqUgiL7DrmmVJ=2jEQhKmqe41cRg@mail.gmail.com>
Duy Nguyen <pclouds@gmail.com> writes:
Show 28 quoted lines
> On Wed, Oct 26, 2016 at 11:51 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
>>
>>> 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?
>
> Everything is protected. I will rephrase the title a bit. The option
> is basically a safe form of "rm -r .git/rebase-{apply,merge}".We are not in a hurry, as it is not likely that this will hit 2.11 even if we saw a rerolled version yesterday, but it would be nice to cook it on 'next' so that it can be on 'master' early after the upcoming release.
Thanks.