これが私の状況です
。ブランチ b1 で作業しているとします。ファイル dir/f1 を書き込みます。
次に、dir/f1 のコードを dir/f2 に統合したいので、f1 はもう必要ありません。
ランダムな理由で、f1 を維持したいと考えています。
バージョン管理から削除しましたが、追跡されずにまだここにあります。
ブランチ b2 に切り替えると、f1 は b2 と同期していないため、コンパイル エラーが発生します。
そこで、切り替える前に b1 で git stash -u を実行して、b2 での作業が完了したときにコンテキストを元に戻すことにしました。
ほぼ期待どおりに動作します: 作業ディレクトリがクリーンアップされ、すべて (追跡されたファイルと追跡されていないファイル、ただし -a を使用しなかったため無視されたファイルはありません) が隠され、git stash でそれらを適用できます。
唯一の問題は、一部のファイルが作業ディレクトリから削除されていることですが、他のファイルは削除されていません。メッセージは次のとおりです。
Not removing dir/f1
だから私の質問は、そのような行動の理由は何ですか? stash 中に削除するファイルとそうでないファイルを git はどのように決定しますか?
ありがとう