git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Unable to checkout a branch after cloning

From
MLMatthew Lear <matt@bubblegen.co.uk>
Date
Aug 11, 2009, 10:10 UTC
Message-ID
<4A814392.4080803@bubblegen.co.uk>
Hi all,

Apologies for perhaps a silly question, but I'd very much appreciate a little bit of assistance.

I've set up a git repository on a machine accessible from the internet with the intention to share code with another developer. We clone the repository, commit changes then push back as you'd expect. The server runs gitweb for repository browsing. Clients are running git v1.6.0.6.

When I created the initial repository I also created two additional branches - 'upstream' and 'custom'. The former is to act as a 'vendor branch' and the latter contains code specific to the custom platform that we're working on. The master branch contains merges from the upstream branch and also changes that we've made. The custom branch contains merges from master with custom platform specific changes.

I've committed changes and on both upstream and custom branches as work progressed, merged them where appropriate, added tags etc and pushed everything to the remote repository. No problem. I can view the branches, tags etc in gitweb and everything looks fine.

However, I can clone a new repository just fine but I'm unable to checkout the upstream or custom branches. After cloning, only the master branch is available, ie:

> git checkout upstream
error: pathspec 'upstream' did not match any file(s) known to git.
> git branch -a
* master
  origin/HEAD
  origin/master
.git/config:
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://mysite/git/project.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

But the initial local repository where I work (ie created the branches, committed changes, tag, push etc) seems to be fine, ie

> git checkout upstream
Switched to branch "upstream"
> git branch -a
  custom
* master
  upstream
.git/config:
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://mysite/git/project.git
        fetch = +refs/heads/*:refs/remotes/origin/*

Developers need to be able to clone the repository and then switch to the appropriate branch in order to work. However it seems that after a clone, only the master branch is available.

Why is this?
Any help would be much appreciated indeed.

Many thanks, -- Matt

Next: Michael J Gruber
Message 1 of 7 in “Unable to checkout a branch after cloning”
  1. Matthew LearAug 11, 2009
  2. Michael J GruberAug 11, 2009
  3. Matthew LearAug 11, 2009
  4. Michael J GruberAug 11, 2009
  5. Matthew LearAug 11, 2009
  6. Michael J GruberAug 11, 2009
  7. Matthew LearAug 11, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.