Mike Gant <mwgant@xxxxxxxxx> writes: > I'm trying to understand git-clone and what to expect when I clone a > repository. Disclaimer, I am a newbie :). [...] > According to the man page, git-clone "creates and checks out an initial > branch equal to the cloned repository's currently active branch." [...] > 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. Currently the situation is a bit strange, because while git-remote supports selecting which branch is meant to be remote-tracking master branch via '-m <master>' option to "add" subcommand (setting origin/HEAD symref), git-clone which is init + remote + fetch + some bookkeeping and shortcuts doesn't. Both commands are now built-in. > 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? You can use (with new anough Git) $ git checkout --track -b master origin/master to setup repository in such way that "git pull" on 'master' would know that it is meant to fetch from 'origin' and merge 'origin/master'. In upcoming 1.6.1 it would be enough to use $ git checkout --track origin/master -- Jakub Narebski Poland ShadeHawk on #git -- 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