7

いくつかのプロジェクトでソース管理を使用してみましたが、まだよくわかりません。これらのプロジェクトでは、TortoiseSVN を使用しており、リビジョンは 1 行しかありません。(トランク、ブランチ、またはそのいずれもありません。) ソース管理システムをセットアップするための推奨される方法がある場合、それは何ですか? そのように設定する理由と利点は何ですか?集中ソース管理システムと分散ソース管理システムの動作の根本的な違いは何ですか?

4

5 に答える 5

8

ソース管理は、ソース コードの巨大な「元に戻す」ボタンと考えてください。チェックインするたびに、ロールバックできるポイントが追加されます。分岐/マージを使用しない場合でも、この機能だけでも非常に価値があります。

さらに、ソース管理の「信頼できる」バージョンを 1 つ持つことで、バックアップがはるかに簡単になります。

集中型と分散型の違いは、実際には、分散型ではソース管理の「信頼できる」バージョンが 1 つあるとは限らないということです。

分散ソース管理の大きな利点は 2 つあります。

  1. 分散ソース管理を使用すると、ソース ツリー全体がローカル マシンに置かれます。コミットし、ブランチを作成し、まるで一人でいるかのように作業できます。変更をプッシュする準備ができたら、マシンからマスター コピーに昇格させることができます。「オフライン」で作業することが多い場合、これは大きなメリットとなります。

  2. ソース管理の配布者になるために誰かの許可を求める必要はありません。A がプロジェクトを実行していて、B と C が変更を行い、それらの変更を互いに共有したい場合、分散ソース管理を使用すると、はるかに簡単になります。

于 2008-08-17T01:39:54.310 に答える
6

Eric Sink の次の記事をチェックすることをお勧めします。

http://www.ericsink.com/scm/source_control.html

ある種のリビジョン管理システムを導入することは、プログラマーがコードの変更をレビューし、誰が誰に何をしたかを理解するためのおそらく最も重要なツールです。1 人のプロジェクトであっても、現在のコードを以前の既知の動作バージョンと比較して、変更によって何が問題になったのかを理解できることは非常に重要です。

于 2008-08-17T01:44:24.237 に答える
3

基本を理解するのに非常に役立つ 2 つの記事を次に示します。有益なだけでなく、Sink の会社は Vault と呼ばれる優れたソース管理製品を販売しており、これはシングル ユーザーには無料です (私はその会社とは一切関係がありません)。

http://www.ericsink.com/scm/source_control.html

http://betterexplained.com/articles/a-visual-guide-to-version-control/

www.vault.com のボールト情報。

于 2008-08-17T01:47:59.377 に答える
1

分岐しない場合でも、タグを使用してリリースをマークすると便利な場合があります。

昨日、ソフトウェアの新しいバージョンを公開し、次のバージョンに向けて大幅な変更を開始したと想像してください。昨日のリリースの深刻なバグを報告するために、ユーザーから電話がありました。修正して開発トランクから変更をコピーすることはできません。これは、行ったばかりの変更が全体を不安定にするためです。

リリースにタグを付けていれば、その作業コピーをチェックアウトし、それを使用してバグを修正できます。

次に、タグでブランチを作成し、そこにバグ修正をチェックすることを選択できます。そうすれば、トランクのアップグレードを続けながら、そのリリースのバグをさらに修正できます。これらの修正をトランクにマージして、次のリリースに反映させることもできます。

于 2008-08-17T01:47:18.473 に答える
1

Subversion をセットアップするための一般的な基準は、リポジトリのルートの下にトランク、ブランチ、およびタグの 3 つのフォルダーを作成することです。トランク フォルダーには、現在の「メイン」開発ラインが保持されます。多くのショップや状況で、これまでに使用されていたのはこれだけでした...コードの作業リポジトリは 1 つだけです。

tags フォルダーはさらに一歩進んで、特定の時点でコードを「チェックポイント」できるようにします。たとえば、新しいビルドをリリースするとき、または単に新しいビルドを作成するときでさえ、このフォルダーにコピーを「タグ付け」します。これにより、その時点でコードがどのように見えるかを正確に知ることができます。

ブランチ フォルダーには、特別な状況で必要になる可能性のあるさまざまな種類のブランチが保持されます。ブランチは、実験的な機能や、安定するまでに長い時間がかかる可能性のある機能に取り組む場所である場合があります (したがって、それらをまだメインラインに導入したくない場合があります)。また、ブランチは、将来のリリースを意図した変更を含むコードのメイン行から独立して編集およびデプロイできる、コードの「本番」コピーを表す場合があります。

とにかく、これはシステムのセットアップ方法の 1 つの側面にすぎませんが、この構造を考えることが重要だと思います。

于 2008-08-17T01:51:00.743 に答える