threads / discuss / 48243

After a rebase, ORIG_HEAD points to the previous tip of the branch?

Subject: After a rebase, ORIG_HEAD points to the previous tip of the branch?

## tl;dr

2 messages between Apr 8, 2018 and Apr 8, 2018.

replies: 1people: 2as markdown or json

Ilya Kantor· Apr 8, 2018, 21:10 UTC · lore
Hi,

Immediately after a finished rebase, is it true that ORIG_HEAD points to the previous tip of the branch?

So that `git reset --hard ORIG_HEAD` will cancel the rebase?

P.S. I'm asking because most of time that is so, but there is at least one case when ORIG_HEAD breaks that assumption. Not sure if it's a bug or not.

--- Best Regards, Ilya Kantor

Junio C Hamano· Apr 8, 2018, 23:04 UTC · re: Ilya Kantor · lore

Re: After a rebase, ORIG_HEAD points to the previous tip of the branch?

Ilya Kantor <iliakan@gmail.com> writes:
> Immediately after a finished rebase, is it true that ORIG_HEAD points
> to the previous tip of the branch?
>
> So that `git reset --hard ORIG_HEAD` will cancel the rebase?

I wouldn't recommend people to depend on it; rather use "@{1}", perhaps?

Before reflog was invented, ORIG_HEAD was primarily a handy way to back out of "reset", but because the implementation of higher-level porcelains like "rebase" may internally use things like "reset" without giving it much thought about clobber ingORIG_HEAD (largely because there is an expectation that modern end users would be using reflog more than old-way ORIG_HEAD), cases like stopping in conflict and getting told to skip and continue may not preserve ORIG_HEAD as you wish it to.

← back to recent threads