From: Tom Preston-Werner Date: Tue, 17 Mar 2009 19:19:35 GMT Subject: Local clone checks out wrong branch based on remote HEAD Message-ID: I'm having some unexpected behavior when cloning a remote repo that has several branches at the same commit. On the remote side, the HEAD is 'trunk': git@remote ~/repositories/akincisor/site.git $ cat HEAD ref: refs/heads/trunk After cloning this with a standard `git clone`, the refs are: [11:48][tom@solid:~/dev/sandbox/site(release)]$ git branch -r -v origin/HEAD a52528a Fixed some routing problems origin/release a52528a Fixed some routing problems origin/trunk a52528a Fixed some routing problems And the checked out branch is 'release' instead of 'trunk' as I would expect: [11:48][tom@solid:~/dev/sandbox/site(release)]$ git branch * release I'm guessing that the first branch that matches the remote HEAD revision is being checked out instead of the actual remote branch. I would expect the correct branch to be chosen regardless of where the branches are pointing. Tom -- Tom Preston-Werner github.com/mojombo