[Git] ブランチについて、マージしていないのにもう片方のブランチに反映される
Discussion
Gitで2つブランチを用意して片方でファイル編集したのですが、マージする前でももう片方のファイルに編集内容が反映されている。なぜなのか知りたいです。
『詳細』
①Gitで2つブランチを用意
・masterブランチ
・secondブランチ
②secondブランチに移動しファイル変更
③masterブランチに移動してファイル確認→マージしていないのに、なぜか反映されている。
Discussion
Gitで2つブランチを用意して片方でファイル編集したのですが、マージする前でももう片方のファイルに編集内容が反映されている。なぜなのか知りたいです。
『詳細』
①Gitで2つブランチを用意
・masterブランチ
・secondブランチ
②secondブランチに移動しファイル変更
③masterブランチに移動してファイル確認→マージしていないのに、なぜか反映されている。
第一感ですがそのファイルがgitの管理下にないのではないかと思います。
git status
でUntracked files
以下に無いか確認されるとよいかと思います。
②secondブランチに移動しファイル変更
③masterブランチに移動してファイル確認
masterブランチに切り替える前に、②で変更したファイルをコミットしたでしょうか?
コミットしていないのであればブランチを移動してもローカルでの変更はそのままです。
最初に「意見交換」ではなく「質問」だと思われます。
可能であれば訂正願います。
※以下ドキュメント参照(公式ドキュメントではないので詳細は公式を参照ください)
質問②に相当する「ブランチの移動」について
現在最新のgit switch
か
git branch ~
で異なる箇所があります。
git switch
で切り替えた場合は
前述のドキュメント通り
指定されたブランチに切り替えます。ワークツリーとインデックスはブランチに一致するように更新されます。すべての新しいコミットはこのブランチの末端に追加されます。
という動作になります。
どのコマンドを使用されたかは不明ですが
どちらにせよ「未コミットの変更がブランチを跨いで反映される」ということはないので
「単に編集内容が反映されている」か
「コミットが同じ位置として記録されているのか」今一度ご確認ください。
他の方が書かれているとおり、編集したファイルをコミットされていないのでは、、、
ローカルの編集はブランチを移動した場合でもそのままかと