Unexpected git behaviour

Forums » Git - Git > Unexpected git behaviour
November 11, 2011 12:55:54 PM PST (one year ago). Seen 425 times. No replies.
Photo J V
Sr. Java EE Architect
Jvsrvcs
Member since Nov 11, 2011
Forum Posts: 3

Unexpected git behaviour

---
# First create a local git repo

$mkdir gitexample
$git config --global user.name "my name"
$git config --global user.email "me@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.