Re: [Q] Changing the current branch (HEAD) in a bare repository - how?
"Brian Foster" <brian.foster@innova-card.com> writes:
Show 27 quoted lines
> Using git 1.5.2.5 (Kubuntu 7.10) and a bare repository,
> I started with (the commands and output below are typed
> in by hand, mostly from memory):
>
> $ git branch -a
> * master
> foo
> $
>
> and then changed the branch names:
>
> $ git branch -m master old-master
> $ git branch -m foo master
>
> and got this:
>
> $ git branch -a
> master
> * old-master
> $
>
> Now, how do I change the current branch to the (new)
> `master'? A `checkout' fails:
>
> $ git checkout master
> fatal: /usr/bin/git-checkout cannot be used without a working tree.
> $
In a bare repository it doesn't matter (almost) which branch is
current one (there is no _checked out_ branch, so it only matters as a
default checked out branch for clone, IIRC).
> I (ultimately) hand-edited `HEAD' (apparently successfully),
> but am wondering what I should have done or may have missed?
You have to rely on plumbing:
$ git symbolic-ref HEAD master
(see documentation for details).
--
Jakub Narebski
Poland
ShadeHawk on #git