質問: ブランチの切替について質問です。 eclipseで操作をしているのですが・・・ ローカルリポジトリでmasterブランチから作業ブランチを作成し、作業ブランチでAファイルを編集中、最新状態へ更新する必要が出てきました。(作業ブランチの変更内容は除いて) masterブランチに切り替えたのですが このとき、コミット、ステージングをしていないのに問題なく切り替えることができました。 その代わり、作業ブランチで変更した内容がmasterブランチに反映されていました。 競合が発生しない場合は変更内容が維持されてブランチが切り替わるのでしょうか? ≪理想≫ 作業ブランチ ・・・ AファイルにZを追加中 ↓切替 masterブランチ・・・ AファイルにはZの内容はない ≪現実≫ 作業ブランチ ・・・ AファイルにZを追加中 ↓切替 masterブランチ・・・ AファイルにはZの内容がある 現在この現象のせいで、作業ブランチでの編集中の内容を含めてmasterブランチにPUSHされてしまいました・・・。 この場合、`ブランチを切り替える際は必ずコミットをする`という運用にするしか回避する方法は無いのでしょうか? 初歩的な質問となりますが、ご教授お願いします・・・。
回答: > > 競合が発生しない場合は変更内容が維持されてブランチが切り替わるのでしょうか? > > > その通りです。 > > この場合、ブランチを切り替える際は必ずコミットをするという運用にするしか回避する方法は無いのでしょうか? > > > git stashで一時的に変更を退避するというのが解決策になるかと思います。 また、今回の事象はブランチ切替時にリポジトリの状態を確認していれば防げた事だと思われますので、git statusで状態を確認する癖をつけるというのが大事な気がします。