Ok Gordon, I will try to explain to you how it works, I hope to do :).. When cloning a GIT repository, what you get is just that, a complete clone the remote repository. Well, GIT shows you how local branches that are available for use in your working copy, and as remote, which represent the branches that are in the remote repository.
To keep in sync with remote branches actual remote content, need to run: git fetch - prune This causes your repository in the remote space representation is Synchronize with the actual remote repository, without altering your pointer at the local branches. When you run: ie.: git checkout develop what you get is a change from branch to "Develop" and should not have this branch represented in your local area, a local entry is created for it, so you can have a life cycle of its namesake separate remote. In short, in your life cycle, you need to keep your local repository synchronized (your clone) against the remote, and secondly, the working branch running: git pull Remember that both commits, as the branches are characterized as pointers to the index, and therefore are very light and easy to apply. I hope it clears, and not complicate the issue further. Best, -- Jose Barragan Chief Software Architect Codeoscopic Madrid C/. Infanta Mercedes, 92. Planta 5. 505. 28020 Madrid. Tel.: +34 912 94 80 80 On Mar 18, 2013, at 6:52 PM, Gordon Smith <gosm...@adobe.com> wrote: > I've cloned the flex-sdk repo. When I do 'git branch' all I see is > > * master > > but when I do 'git branch -a' I see > > * master > remotes/origin/HEAD -> origin/master > remotes/origin/develop > remotes/origin/patches > remotes/origin/release4.9 > > I'm not clear on how to read this, but it looks like the remote repo has a > develop branch but my local repo doesn't. Does that mean I can't do 'git > checkout develop'? > > - Gordon >