git switch するときに、ブランチの最新の状態に合わせたファイルに同期しているから。
git switch
すると、ブランチやコミットの時点でのファイルの状態をワークツリー(作業ディレクトリ)に反映させる作業が行われる。これをチェックアウトという。
このおかげで、同じパスのファイルをブランチで状態を分けて作業をすることができる。
ブランチを切り替えるという表現だと、ディレクトリなどが切り替わっているかのように感じるかもしれない。しかし、正しくは各ブランチがどのような状態になっているかをリポジトリが記憶していて切り替え先のブランチの状態に合わせて作業ディレクトリのファイルを置き換えている。
参考文献
- https://git-scm.com/docs/git-switch