I come from an SVN background, and I have a hard time grasping Git's 
philosophy. In particular, I'm confused by the following.

   Imagine I have made some changes in my working dir. If I switch to 
   another branch, the changes*remain*, which is very unusual, from an SVN 
   point of view. This means that uncommitted changes are*shared* between 
   the branches. Moreover, the "stage property" of the files is also 
   *shared* between the branches: if I call git add * in one branch, then 
   all the files will be added to next commit in all the branches. Looks like 
   my branches differ only by already *committed* files.
   So, if uncommitted data are *shared*, then, no matter which branch I am 
   on now, I will commit *all the staged files*, even if they were added in 
   different branches! As I come from an SVN background, this strikes me as 
   very odd.
   Am I correct, or am I just confused? Why does Git work in this way?
   Sometimes, Git tells me something like this:
   Cannot switch to another branch because your changes will be erased. 
   Commit them first.
   In SVN, that's not a problem: branches are *independent*. Why and when 
   does this happen in Git?
   What's up with the way Git handles folders? If I create a new folder, it 
   is not displayed in Git's status report. Does Git simply not care about 

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to