# git-checkout question

3 messages from 2008-01-13 to 2008-01-13. Participants: David J. Neu, Steffen Prohaska.
Thread: https://gitlist.dev/t/11605

## David J. Neu, 2008-01-13 14:21

Subject: git-checkout question
Message-ID: <20080113142140.GB10426@bach.davidneu.local>
URL: https://gitlist.dev/e/20080113142140.GB10426%40bach.davidneu.local

```
Hi, 

I was wondering if someone could explain the following behavior.

1. create and switch to branch off master
2. edit a file in the branch
3. checkout master without committing changes in the branch
4. the changes in the branch are automatically applied in working tree 
   in master

I wasn't expecting the changes in the branch to be automatically
moved to master.  Had I committed while in the branch this doesn't
happen.  I'm using git version 1.5.3, the details are below.

Many thanks!

Cheers,
David

[/tmp] mkdir git-test
[/tmp] cd git-test
[/tmp/git-test] git-init 
Initialized empty Git repository in .git/
[/tmp/git-test] # create hello.py
[/tmp/git-test] git-add hello.py 
[/tmp/git-test] git-commit   
Created initial commit 58282ee: Initial commit of git-test.
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 hello.py
[/tmp/git-test] cat hello.py 
print "hello from master."
[/tmp/git-test] git-checkout -b test-branch
Switched to a new branch "test-branch"
[/tmp/git-test] # modify hello.py
[/tmp/git-test] cat hello.py 
print "hello from test-branch."
[/tmp/git-test] git-checkout master
M       hello.py
Switched to branch "master"
[/tmp/git-test] cat hello.py 
print "hello from test-branch."
[/tmp/git-test] # hmmm?

```

## Steffen Prohaska, 2008-01-13 14:31

Subject: Re: git-checkout question
Message-ID: <AF05EA04-C41A-4964-B225-E3A427D32E33@zib.de>
URL: https://gitlist.dev/e/AF05EA04-C41A-4964-B225-E3A427D32E33%40zib.de
In-Reply-To: <20080113142140.GB10426@bach.davidneu.local>

```

On Jan 13, 2008, at 3:21 PM, David J. Neu wrote:

> I was wondering if someone could explain the following behavior.
>
> 1. create and switch to branch off master
> 2. edit a file in the branch
> 3. checkout master without committing changes in the branch
> 4. the changes in the branch are automatically applied in working tree
>    in master
>
> I wasn't expecting the changes in the branch to be automatically
> moved to master.  Had I committed while in the branch this doesn't
> happen.

This already is the explanation.  You did not commit.  Therefore,
the changes are not in the branch but still in your work tree.
They are on neither branch; they are _only_ in your work tree.
If you switch the branch the changes will stay in the work tree.
They always stayed in the same place: your work tree.

	Steffen

```

## David J. Neu, 2008-01-13 15:12

Subject: Re: git-checkout question
Message-ID: <20080113151202.GC10426@bach.davidneu.local>
URL: https://gitlist.dev/e/20080113151202.GC10426%40bach.davidneu.local
In-Reply-To: <AF05EA04-C41A-4964-B225-E3A427D32E33@zib.de>

```

On Sun, Jan 13, 2008 at 03:31:19PM +0100, Steffen Prohaska wrote:
> 
> On Jan 13, 2008, at 3:21 PM, David J. Neu wrote:
> 
> >I was wondering if someone could explain the following behavior.
> >
> >1. create and switch to branch off master
> >2. edit a file in the branch
> >3. checkout master without committing changes in the branch
> >4. the changes in the branch are automatically applied in working tree
> >   in master
> >
> >I wasn't expecting the changes in the branch to be automatically
> >moved to master.  Had I committed while in the branch this doesn't
> >happen.
> 
> This already is the explanation.  You did not commit.  Therefore,
> the changes are not in the branch but still in your work tree.
> They are on neither branch; they are _only_ in your work tree.
> If you switch the branch the changes will stay in the work tree.
> They always stayed in the same place: your work tree.
> 
> 	Steffen
> 

Ahh, got it - thanks!

```
