On 04/17/2007 04:31 PM, Brian Gernhardt wrote:
Is it possible to switch the current branch without checking it out?
Not really essential, but I'm happily flaundering around with git and
still start from scratch fairly regularly; to speed this up I've found
the -n switch to git clone useful and would like something similar
when reconstructing my "branch hierarchies".
Upto now I only know about "git checkout" (with or without -b) to
switch the current branch. As said it's not really essential, but I
was expecting there would be something like a "branch --switch". Did I
overlook it?
Perusing git-checkout points me to git-symbolic-ref to update the HEAD
ref to a new branch:
git symbolic-ref HEAD refs/heads/<branch>
However, I'm somewhat confused as to why you'd want HEAD and the working
directory to get out of sync.
Thank you for the answer. Well, as said, it's not essential, but I was just
now rebuilding a repo and have a few branches that I all want to be based on
the same revision. Say, branch a, b and c, based on v2.6.20.
git clone -l -s -n <a local linux repo> local
git checkout -b v20 v2.6.20
git branch a
git branch b
git branch c
Step 1, 3, 4 and 5 of this are nearly instantaneous but 2 isn't -- this repo
sits on a P1 with 64M of memory and a disk doing 8 M/s which is probably the
only reason I thought asking about it was a good idea in the first place...
You'd be quite right in saying that there isn't much point; if I want to now
start populating branch a, I have to "git checkout a" anyway, and that
action _will_ now be instantaneous. If I'd replaced 2 with:
git branch --create-and-set-as-current v20 v2.6.20
then I will not have won any time until that 6th "git checkout a" step.
The checkout of v20 was superfluous in this though, and I just expected I
should be able to skip that. It fitted my mental model...
Rene.
-
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