作業ツリーとインデックスの両方をバージョンgit checkout <commit>
にフラッシュすることを期待しています。<commit>
ただし、場合によっては、現在の変更が作業ツリーとインデックスの両方に保持されます。例えば:
git branch br1
git branch br2
git checkout br1
<make change M1 to file foo>
git add foo
<make change M2 to file foo>
git checkout br2
これで、ブランチで行われたすべての作業ツリー/インデックスの変更がブランチにbr1
保持されます。これは、との head がもともと同じバージョンの file を持っていて、Git がこれを自動的に検出できるためだと思います。br2
git status
br2
br1
br2
foo
質問:
- Git が作業ツリーとインデックスをフラッシュしないと決定するのはいつですか? 他にコーナーケースはありますか?