3

これは、サーバー側のアプリケーション コードとクライアント側の JS/HJTML がバージョン管理されている Web ベースのプロジェクト用です。バージョン 1.0 をリリースし、1.0 リリースでトランクから新しいブランチを作成するとします。すべての圧縮ファイルと結合ファイルを吐き出すビルド ツールを実行します。私のディレクトリ構造内で、圧縮/ビルドされたファイルを含むビルド ディレクトリが生成されます。

ビルド ディレクトリをコミットして、別のコピーが必要な場合 (別のサーバーなど) に再ビルドする必要なく、各ビルド/リリースのコピーを取得する必要がありますか?

4

3 に答える 3

3

これは主観的な回答ですが、ビルド バイナリをバージョン管理システムに保存することは一般的ではないと思います。それがまさにタグの目的です。

リリース時には、ビルド スクリプトを含む完全なコード状態のタグを作成し、現在のバージョン番号でタグ付けする必要があります。以前のビルドのコピーが必要なときはいつでも、タグ付けされたバージョンをチェックアウトしてビルドするだけです。タグには、その段階でビルドを正確に複製するために必要なすべての情報とコード状態が保持されます。

ビルドを別の場所に保存したい場合、それは別の問題であり、本当にあなた次第です。ほとんどの場合、それらはバージョン管理に属していません。

于 2011-07-17T15:29:10.827 に答える
1

「いいえ」と言いますが、ソース管理はコンパイル出力の場所ではありません。ソース管理は、ソースを管理するためのものです。コードのコラボレーション機能を保存、バージョン管理、および提供することを目的としています。

理想的には、ビルドに適した場所はビルドサーバーです。これは通常、コンパイル出力をキャプチャするだけでなく(ビルド後にアーティファクトを保存すると仮定して)、ビルドパラメータなどの重要な情報もキャプチャすることを意味します。これは、ビルド出力をバージョン管理するだけでは暗黙的に取得されないものです(ビルドスクリプトもそこにない限り)。

優れたソース管理の10の戒めの8番を見てください。もちろん、これは少し主観的です(コメントの一部が示すように)が、個人的には、コンパイル出力をバージョン管理しません。おそらく、あなたが尋ねる必要のある質問は、あなたがそれをバージョン管理したい「なぜ」そしてそうしないことによってあなたが見逃していることです。

于 2011-07-18T06:43:56.453 に答える