ブランチの切替について質問です。

eclipseで操作をしているのですが・・・

ローカルリポジトリでmasterブランチから作業ブランチを作成し、作業ブランチでAファイルを編集中、最新状態へ更新する必要が出てきました。(作業ブランチの変更内容は除いて)

masterブランチに切り替えたのですが
このとき、コミット、ステージングをしていないのに問題なく切り替えることができました。
その代わり、作業ブランチで変更した内容がmasterブランチに反映されていました。

競合が発生しない場合は変更内容が維持されてブランチが切り替わるのでしょうか?
≪理想≫
 作業ブランチ ・・・ AファイルにZを追加中
 ↓切替
masterブランチ・・・ AファイルにはZの内容はない

≪現実≫
 作業ブランチ ・・・ AファイルにZを追加中
 ↓切替
masterブランチ・・・ AファイルにはZの内容がある
 

現在この現象のせいで、作業ブランチでの編集中の内容を含めてmasterブランチにPUSHされてしまいました・・・。

この場合、ブランチを切り替える際は必ずコミットをするという運用にするしか回避する方法は無いのでしょうか?

初歩的な質問となりますが、ご教授お願いします・・・。