コミットするたびに、依存関係を見逃している可能性があるのではないかと心配しています。gitインデックス(「ステージング」)にあるものが実際にコンパイル/実行されることを確認するために、gitツリーを分離してテストする最も簡単な方法を探しています。彼ら自身。
私のコードの依存関係は、「git add」を実行するファイルシステムに存在するため、テストをコンパイルして実行するだけでは、ツリー(またはステージング領域)がクリーンなファイルシステムにチェックアウトされた場合に、チェックインしたものがコンパイル/実行されることは保証されません。 。
送信後にチェックする継続的ビルドを作成することもできますが、後でパッチを適用する必要がある履歴に不正なコミットがないことを望んでいます。したがって、ツリーのチェックアウトとインデックス/ステージング領域を含む分離された環境を作成する方法が必要です。
私が検討したことの1つは、git stashを2回使用することです。つまり、次のようになります。
- 'git stash'を呼び出して、ファイルをインデックスに保存します
- どういうわけか、追跡されていないファイルのリストを取得し、これらすべてのファイルを「git add」して、新しいスタッシュを保存します
- 以前に追跡されていないファイルをすべて削除します
- 元の隠し場所を復元する
- これで、コードのみが既にチェックインされ、コンパイルとテストが可能なステージング領域のコードのみが含まれるクリーンな環境ができました。
- 終了したら、追跡されていないファイルの隠し場所を復元し、追跡を解除して、元の位置と同じ位置に残します。
(これらの追跡されていないファイルは便利かもしれませんが、必ずしもリポジトリにチェックインしたいものではありません-例えば、Eclipseプロジェクト)。
ただし、単純な問題を過剰に設計しているような気がします。