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
> 

Reply via email to