VERSION CONTROL(誤名:ソース管理)の考え方は、履歴をロールバックし、変更の効果を回復し、変更とその理由を確認できるようにすることです。これは一連の要件であり、その中にはバイナリのものが必要なものとそうでないものがあります。
例:組み込みファームウェアの作業には、通常、完全なツールチェーンがあります:高価な専用のコンパイラーか、gccの何らかのバージョンです。出荷実行可能ファイルを取得するには、ツールチェーンとソースが必要です。
ツールチェーンをバージョン管理にチェックインするのは苦痛であり、diffユーティリティは恐ろしい(もしあったとしても)ですが、代替手段はありません。5年後にあなたのコードを見て、それが何をするのかを理解するようになった人のためにツールチェーンを保存したい場合、選択の余地はありません。ツールチェーンもバージョン管理下になければなりません。
何年もの間、これを行う最も簡単な方法は、インストールCDのZIPまたはISOイメージを作成してチェックインすることです。チェックインコメントは、ツールチェーンの特定のメーカーバージョン番号である必要があります。gccなどの場合は、使用しているすべてのものを大きなZIPにまとめて同じことを行います。
私がやった最も極端なケースは、「ツールチェーン」が実行中のWindows XP VMであるWindows XP Embeddedで、これには(当時)SQL Serverと何百ものパッチファイルと共に構成ファイルのスタックが含まれていました。ロット全体をインストールして最新の状態にするには、約2〜3日かかりました。後世のためにそれを維持することは、VM全体をバージョン管理にチェックインすることを意味しました。仮想ディスクが約6 x 2GBのイメージで構成されているのを見ると、実際には非常にうまく行きました。一番上に聞こえますが、それは私の後に来て、それを使用しなければならなかった人にとって人生を非常に楽にしました-5年後。
要約:バージョン管理はツールです。効果的に使用し、言葉の意味などにこだわらないでください。それよりも大きいため、「ソース管理」と呼ばないでください。