[git-users] Why does this happen (unexpected git behaviour)

2011-11-11 Thread JavaSrvcs

Unexpected git behaviour

---
# First create a local git repo

$mkdir gitexample
$git config --global user.name my name
$git config --global user.email m...@me.com
$git init
$git add .
$git commit -m 'initial commit'

# Create/Edit an empty file
$vi readme.txt

# add a single line: this was added in the master branch.
$git commit -a

# create and checkout a new branch (from master)
$git branch test
$git checkout test

# edit the readme.txt file and do not commit
# add the text:  this was added in the test branch., save and exit
$vi readme.txt

#now switch back to master
$git checkout master
$cat readme.txt

#You will see both lines in the master.

Question #1:
Why was this line added in the *master branch?


--- even further surprising
In the master branch, now do a commit
$git commit -a

cat readme.txt ( you will see the line in the master now that was
added in the test branch )

Question #2:
Why did this happen?

# Now switch back to the test branch
$git checkout test
$cat readme.txt

You will only see the one line: This was added in the master branch

Question #3:
Why did this happen?

and NOT the line added in that branch: this was added in the test
branch = this line is gone

What is the reason for this?

1) Why do I see uncommitted changes in the branches made off master in
the master branch?
2) Why, if I commit them in the master, do the disappear in the branch
in which they were made?

This is confusing, I would think the * master branch would be left
untouched.  This would solve issue #2.

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.



Re: [git-users] Why does this happen (unexpected git behaviour)

2011-11-11 Thread Chris Stone
When you modify a file after it has been added to git inless you commit the
change on your current working branch when you switch branches the changes
will remain. At least that is what happened when I created a test file on
master, checked out a new branch, made a change to the file then switch
back to master. If you were to have done a git add file name then a git
commit on the test branch when you switched back to master the file would
have reverted back to what was commited on master. To pull the changes from
the test branch onto master you would need to perform a git merge.
On Nov 11, 2011 1:55 PM, JavaSrvcs jvsr...@gmail.com wrote:


 Unexpected git behaviour

 ---
 # First create a local git repo

 $mkdir gitexample
 $git config --global user.name my name
 $git config --global user.email m...@me.com
 $git init
 $git add .
 $git commit -m 'initial commit'

 # Create/Edit an empty file
 $vi readme.txt

 # add a single line: this was added in the master branch.
 $git commit -a

 # create and checkout a new branch (from master)
 $git branch test
 $git checkout test

 # edit the readme.txt file and do not commit
 # add the text:  this was added in the test branch., save and exit
 $vi readme.txt

 #now switch back to master
 $git checkout master
 $cat readme.txt

 #You will see both lines in the master.

 Question #1:
Why was this line added in the *master branch?


 --- even further surprising
 In the master branch, now do a commit
 $git commit -a

 cat readme.txt ( you will see the line in the master now that was
 added in the test branch )

 Question #2:
Why did this happen?

 # Now switch back to the test branch
 $git checkout test
 $cat readme.txt

 You will only see the one line: This was added in the master branch

 Question #3:
Why did this happen?

 and NOT the line added in that branch: this was added in the test
 branch = this line is gone

 What is the reason for this?

 1) Why do I see uncommitted changes in the branches made off master in
 the master branch?
 2) Why, if I commit them in the master, do the disappear in the branch
 in which they were made?

 This is confusing, I would think the * master branch would be left
 untouched.  This would solve issue #2.

 --
 You received this message because you are subscribed to the Google Groups
 Git for human beings group.
 To post to this group, send email to git-users@googlegroups.com.
 To unsubscribe from this group, send email to
 git-users+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/git-users?hl=en.



-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.



Re: [git-users] Why does this happen (unexpected git behaviour)

2011-11-11 Thread Thomas Ferris Nicolaisen
To put it in other words: Changes in the working tree are not part of a 
branch. 

Changes in the index (after add) are also not yet par of a branch.

For some more insight, I'd recommend Scott Chacon's Tale of the three 
trees talk:

http://www.infoq.com/presentations/A-Tale-of-Three-Trees

Slides: http://speakerdeck.com/u/schacon/p/a-tale-of-three-trees

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/git-users/-/upQGwRavN3QJ.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.