git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Dima KaganNext: Dima Kagan
Message 2 of 19 in “Git branches - confusing behavior”
  1. Dima KaganMay 11, 2008
  2. Jakub NarebskiMay 11, 2008
  3. Dima KaganMay 11, 2008
  4. David SymondsMay 11, 2008
  5. Dima KaganMay 11, 2008
  6. David SymondsMay 11, 2008
  7. Dima KaganMay 11, 2008
  8. Steve FrécinauxMay 11, 2008
  9. Jakub NarebskiMay 11, 2008
  10. Dima KaganMay 11, 2008
  11. Björn SteinbrinkMay 11, 2008
  12. Dima KaganMay 11, 2008
  13. Björn SteinbrinkMay 11, 2008
  14. Dima KaganMay 11, 2008
  15. Teemu LikonenMay 11, 2008
  16. Miles BaderMay 12, 2008
  17. Theodore TsoMay 11, 2008
  18. Dima KaganMay 11, 2008
  19. Patrick AljordMay 11, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.