I'm trying to understand git-clone and what to expect when I clone a repository. Disclaimer, I am a newbie :). Assume I have a repo with the following branches: cpu-intfc gige_mux improve-build main-devel * master According to the man page, git-clone "creates and checks out an initial branch equal to the cloned repository's currently active branch." So, when I clone this repo and run 'git-branch -a' I will have the following: origin/HEAD origin/cpu-intfc origin/gige_mux origin/improve-build origin/main-devel origin/master * master All the origin/* branches are remote. And, .git/refs/remotes/origin/HEAD is, $ cat .git/refs/remotes/origin/HEAD ref: refs/remotes/origin/master So far, this makes sense to me. Now, let's say that I am working in the cpu-intfc branch of the original repository and I clone the repository. Running git-branch -a returns the following origin/HEAD origin/cpu-intfc origin/gige_mux origin/improve-build origin/main-devel origin/master * cpu-intfc And this, $ cat .git/refs/remotes/origin/HEAD ref: refs/remotes/origin/cpu-intfc I was expecting to have a local branch named master (that is equal to the remote branch origin/cpu-intfc) instead of cpu-intfc. Am I wrong to expect this? Also, as a newbie user, it seems odd that I cannot specify which branch of repo that I am cloning should be the default (master) branch of the cloned repo? To put it another way, when cloning a repo I have no way of controlling which branch I get as the default. It just happens to depend on which branch the developer is working in at the time I clone. I've read through the man-page and there doesn't seem to be any way around this. I realize that I can create a new local branch that is based off the desired branch: $ git-checkout -b master origin/master Is this the accepted method for obtaining the desired branch? Thanks, Mike -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html