From: Jakub Narebski Date: Fri, 06 Jun 2008 16:03:03 GMT Subject: Re: [Q] Changing the current branch (HEAD) in a bare repository - how? Message-ID: In-Reply-To: "Brian Foster" writes: > 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