Re: Switching between branches
From: Petr Baudis <hidden>
Date: 2016-06-15 22:41:53
Dear diary, on Thu, Apr 21, 2005 at 03:42:39AM CEST, I got a letter where Pavel Roskin [off-list ref] told me that...
Hello!
Hello,
Perhaps it's a naive question, but how do I switch between branches? I mean an equivalent of "svn switch" or "cvs update -r branch" that would reuse the existing working directory.
you can't. There was 'git update' (and intermediate never-committed 'git switch'), but I decided not to support it for now, since I don't have any compelling usage case for it. Do git fork my-linus ~/my-linus linus and you will get a local clone of Linus' branch in ~/my-linus, tracking and everything.
Then I tried "git merge -b pasky linus" - this actually changed the files to the linus branch, but it didn't remove files specific to git-pasky. Also, I'm surprised that I had to specify "-b pasky", as if the currently checked out branch is unknown.
Since git merge's purpose is to _merge_, not _switch_, so it picks the common ancestor by default; another disadvantage is that this happens on top of your local tree, but your history will record it as a merge which shares both linus and my history, which isn't quite right. What is peculiar, though, is that it didn't remove the files specific to git-pasky. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor