BranchA と BranchB という異なるコードのブランチがいくつかあるとします。現在 BranchA にいて、ビルドを実行しているとします。私のビルドが .class ファイルとその他のコンパイル済みオブジェクトを作業ツリー内のディレクトリにダンプするとします。差分を実行すると、新しいコンパイル済みオブジェクトが含まれているため、ディレクトリが変更されていることがわかります。
BranchB に切り替えて自分のコードをデプロイすると、実際には BranchA のコード ベースからコンパイルされたオブジェクトがデプロイされます。これは、git がブランチ スイッチ全体でフローティング変更 (新しいコンパイル済みオブジェクト) を維持しているためです。これは明らかに間違いです。
これを回避する方法はいくつかあります。1 つは、ブランチを切り替えるたびにバージョン管理されていないファイルをクリーンアップすることですが、この問題を処理するためのより確実な方法はありますか。コンパイルされたオブジェクトをバージョン管理に入れたくありません。