Re: git branch --switch?
From: Rene Herman <hidden>
Date: 2016-06-15 22:43:05
On 04/17/2007 04:31 PM, Brian Gernhardt wrote:
quoted
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.