5

オープン ソース プロジェクトでの git や mercurial などの分散型バージョン管理システム (DVCS) に関する私の経験から、ほとんどのセットアップ モデルはプロジェクトに集中型セットアップを使用します (GitHub を考えてください)。

企業に分散型 VCS を導入する場合、集中型セットアップ モデルはありますか?

4

4 に答える 4

4

コードを共有できるようにするだけでなく、ビルドを直接生成したり、スナップショットをエクスポートしたりできるブランチをどこかに持つことができるため、ある種の中央リポジトリを用意することをお勧めします。そのサーバーにはおそらく複数のブランチがあり、そのうちの 1 つが「トランク」ブランチと見なされます。以前のリリースには独自のブランチがあり、チームの階層に応じて (つまり、アプリケーションの 1 つの側面に取り組んでいる各グループでグループに分割されている場合)、チームまたは機能ベースのブランチが存在する場合があります。そのようには機能しませんが、それは必要ありません。

もちろん、配布されているため、各開発者は独自のローカル リポジトリを持ち、作業を高速化します。または、それぞれが複数のリポジトリを持つこともできます。たとえば、通勤中に作業するのが好きな開発者は、自分のワークステーションにリポジトリを持ち、ラップトップに別のリポジトリを持ち、ワークステーション上のブランチから「チェックアウト」されたブランチをラップトップに持っている場合があります。それは彼次第です。ネットワークから離れていてもコミットしたりブランチしたりできるので、「分散」部分がこの種のことをより簡単にしてくれると思います。

非分散型 VCS から移行する場合、DVCS は同じように機能するのに十分な柔軟性があるため、以前と同じモデルにそのまま移行できます。それ以外の場合は、いくつかのブランチを持つ単一の中央リポジトリから始めることができ、後でより多くのリポジトリとブランチを作成するのは常に簡単です。

最後にもう 1 つ、バックアップが必要です。さまざまな開発者がそれぞれ同じもののコピーを持っているという事実は冗長性を追加しますが、それはバックアップの代わりではありません.

私が定期的に使用する DVCS は Bazaar です。Mercurial も試しました。

于 2009-03-19T09:42:02.060 に答える
3

はい、しかしあなたには多くの選択肢があります。それらのいくつかを説明する私が見た中で最高の図はhttp://whygitisbetterthanx.com/#any-workflowにあります。

于 2009-03-19T19:55:19.037 に答える
0

これは、集中化された VCS と呼ばれる他のタイプの VCS とは一線を画す機能ではありません。

たとえば、会社がsvnの経験がある場合。リポジトリとバックアップ モデル専用のサーバーを使用すると、ほぼ同じことを DVCS に適用できます。

于 2009-03-19T09:52:38.417 に答える
0

はい、会社、または会社内の少なくとも 1 つの製品にとって、集中型セットアップ モデルを使用することが最善または少なくとも最も簡単だと思います。結局のところ、単一の一貫した製品を作ろうとしているのです

ただし、DVCS は、チーム内で奨励したい場合としない場合があります。特に、実験が増えます (ローカル コピーを使用するだけで、誰にも迷惑をかけることはありません)。古いバージョンの保守や、追跡する必要がある多くのクライアント固有の変更を実際の製品に入れずに行う場合は、この方が簡単です。

オフサイトで頻繁に作業するチームがある場合、これは非常に貴重です。私の会社のエンジニアは、セキュリティ上の理由からインターネットにアクセスできないサイトで、土壇場で変更を加えることがよくあります。中央の VCS は、このシナリオでは機能しません。

したがって、中央リポジトリがありますが、分散された方法で作業できるという事実は非常に貴重です. DVCS は、ワークフローの点で集中型 VCS のスーパーセットです。もちろん、追加のオプションが必要ない (またはしたくない!) と思われる場合は、集中型 VCS を使用することもできます。

于 2009-04-01T16:04:48.063 に答える