Re: Git branches - confusing behavior
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- May 11, 2008, 11:42 UTC
- Message-ID
- <m31w495apd.fsf@localhost.localdomain>
- In-Reply-To
- <4826D8FA.30305@gmail.com>
Dima Kagan <dima.kagan@gmail.com> writes:
Show 18 quoted lines
> I'm currently evaluating git for doing some local work without > depending on the main subversion server. I started with the following > steps: > > > git-svn clone http://svn.test.org/test/trunk > > cd trunk > > git branch test_branch > > git checkout test_branch > > vi somefile > > Now, when I run 'git status' I get: > # On branch test_branch > # Changed but not updated: > # (use "git add <file>..." to update what will be committed) > # > # modified: somefile > # > no changes added to commit (use "git add" and/or "git commit -a")
And now you have 'somefile' in the working arew, which state isn't saved anywhere git knows of.
> This is what I expect of course. However, when I execute 'git checkout > master', I get: > M somefile > Switched to branch "master"
Git tries hard to preserve your modifications. If you don't want to commit changes to test_branch, you can use git-stash to stash them away.
Note that the above is possible only in the trivial merge case. Otherwise you would need to use "git checkout -m" (to merge), or "git checkout -f" (to force checkout, possibly losing changes).
Show 15 quoted lines
> And after running 'git status' on master I get: > # On branch master > # Changed but not updated: > # (use "git add <file>..." to update what will be committed) > # > # modified: somefile > # > no changes added to commit (use "git add" and/or "git commit -a") > > Basically I see that the same file I edited on the 'test_branch' > branch appears to be modified on the 'master' branch as well. This > behavior is unwanted, of course. > > Can someone please tell me, what am doing wrong? Or is this git's > normal behavior?
This is normal, and wanted, behavior.
-- Jakub Narebski Poland ShadeHawk on #git