Assume that i've repo like this:
~/Desktop/git_repo
$ ls
cover.jpg cover_small.jpg README.md
~/Desktop/git_repo on master
$ git status
On branch master
nothing to commit, working directory clean
Now i will add an new branch, and switch current branch to new_branch
~/Desktop/git_repo on master
$ git branch new_branch
~/Desktop/git_repo on master
$ git checkout new_branch
Switched to branch 'new_branch'
~/Desktop/git_repo on new_branch
$ git status
On branch new_branch
Let's see our files on new_branch:
~/Desktop/git_repo on new_branch
$ ls
cover.jpg cover_small.jpg README.md
Nice, it is expected. Now, let's remove cover.jpg on new_branch but NOT commit it:
~/Desktop/git_repo on new_branch
$ git rm cover.jpg
rm 'cover.jpg'
~/Desktop/git_repo on new_branch!
$ ls
cover_small.jpg README.md
~/Desktop/git_repo on new_branch!
$ git status
On branch new_branch
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: cover.jpg
Okay, again it is expected. Now, let's switch branch to our master branch and list files. I expect that cover.jpg is contained:
~/Desktop/git_repo on new_branch!
$ git checkout master
D cover.jpg
Switched to branch 'master'
~/Desktop/git_repo on master!
$ ls
cover_small.jpg README.md
~/Desktop/git_repo on master!
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
deleted: cover.jpg
What? Why my master branch is effected from new_branch? What is my mistake? That's my question.
Thanks..