Re: Question about git rebase --onto
- From
Tay Ray Chuan <rctay89@gmail.com>
- Date
- Feb 17, 2010, 10:46 UTC
- Message-ID
- <be6fef0d1002170246r2b5c444cpdfce0678531564dd@mail.gmail.com>
- In-Reply-To
- <4B7BC4A7.5070902@obry.net>
Hi,
On Wed, Feb 17, 2010 at 6:27 PM, Pascal Obry <pascal@obry.net> wrote:
Show 5 quoted lines
>> Why do you add the last parameter ("HEAD")? If I run the rebase
>> without it, it works fine (ie. not on a detached HEAD).
>
> Right, without the final HEAD it is working. But it ought to work with
> it too. Hence my report.In your original report though, you didn't say "HEAD"; you used a branch. I quote:
On Wed, Feb 3, 2010 at 1:49 AM, Pascal Obry <pascal@obry.net> wrote:
Show 5 quoted lines
> > It seems to me that: > > $ git co topic > $ git rebase --onto master topic~2 topic
I'm not trying to nit-pick, but it does matter - "git rebase --onto foo baz~x baz" and "git rebase --onto foo HEAD~x HEAD" are quite different.
According to the docs, the last parameter <branch> specifies the branch to checkout to first before the rebasing takes place. Therefore, I believe the behaviour you're experiencing when you specify "HEAD" for the <branch> parameter is correct - git does a "git checkout $(git rev-parse HEAD)", so you start the rebase on a detached HEAD.
-- Cheers, Ray Chuan