なぜ誰もがgitを集中的に使用するのですか?
会ったことはありませんが、どうしてみんなと言うのですか?;)
第二に、GitにはあるがCVSやSVNにはないその他の機能があります。たぶん、これはすべての人にとって唯一の機能でなければならないということをあなたが仮定しているだけでしょう。
確かに多くの人がCVSやSVNのように集中化して使用するかもしれません。ただし、分散VCSに本来備わっている他の機能も忘れないでください。すべてのコピーは多かれ少なかれ「完全」であり(すべてのブランチと完全な履歴が利用可能)、サーバーに接続せずにすべてのブランチをチェックアウトできます。
私の意見では、これは忘れてはならない別の機能です。
すぐに使用できるCVSとSVNでこれを行うことはできませんが、Gitは問題なく以前のものと同様に集中的に使用できます。
そのため、変更をコミットし、進行中の作業をまとめてスカッシュしてから、作業をフェッチしてメイン開発ブランチにリベースすることができます。
Gitですぐに使用できるその他の機能:
- コミットに暗号的に署名する
- リベース(コミットの順序変更とスカッシュ、メッセージだけでなくコミットの編集)
- さくらんぼ狩り
- 歴史を二分する
- ローカルブランチとスタッシングの変更(ウィキペディアでは「棚」と呼ばれます)
ウィキペディアの次の3つの表も参照してください-バージョン管理ソフトウェアの比較:
繰り返しますが、多分、分散型の方法は、それを人々に使用させる機能だけではありません。
- Gitの分散ワークフローを実際に使用しないのはなぜですか?
Bitbucked、GitHubなどでより大きなプロジェクトに貢献したり、ホストしたりする人は誰でも正確にそれを行います。メンテナーは「メイン」リポジトリを保持し、貢献者はクローンを作成し、コミットしてからプル要求を送信します。
企業では、小規模なプロジェクトやチームであっても、モジュールを外部委託し、変更を事前にレビューせずに外部が神聖な開発ブランチを変更したくない場合、分散ワークフローがオプションになります。
- 能力は分散した方法で機能し、現代のバージョン管理にとっても重要です...
いつものように:要件に依存します。
いずれかのポイントが該当する場合は、分散VCSを使用します。
- 履歴をコミットまたはオフラインでナビゲートしたい(つまり、休暇中に山小屋のサブモジュールを仕上げる)
- 中央リポジトリを提供しますが、変更をレビューするために「真の」リポジトリを分けておきたい(つまり、大きなプロジェクトや分散したチームの場合)
- 中央レポへの直接アクセスを防ぎながら、2つ目の履歴と同様に、履歴全体とブランチを時々(コピー)提供したい
- リモートで保存したり、専用のリポジトリを設定したりせずに何かをバージョン管理したい(特にGitでは、
git init .
何かをバージョン管理する準備ができているだけで十分です)
いくつかありますが、4つあれば十分です。
...またはそれはちょうどいい音ですか?
もちろん、いいですね-初心者向け。