32

より従来型の VCS (CVS/SVN) のバックグラウンドを持っている人にとって、git を学んで移行する最も説得力のある理由は何ですか?

git を機能させるために必要なチームの技術的能力についてコメントしてください。私は賢い人が学習曲線を上っていくのを見てきました。誰でもこの曲線を上ることができますか? git はすべてのチームに適しているわけではありませんか?

もちろん、機能上の利点、ツールのサポート、他のシステム (CI など) の統合についても聞きたいです...

(これは明らかな質問のように思えますが、いくつかの検索にもかかわらず、これの重複は見つかりませんでした)

編集優れたリソースへのリンクも高く評価されています。

4

8 に答える 8

19

私の頭の上に:

  • その分散された側面 (各開発者はリポジトリのコピーを持っています)
  • 複雑なマージを非常に迅速に処理する機能
  • タスクからタスクへと切り替えたり、仕事を棚上げしたり、戻ったりする可能性...
  • 安価な分岐 (インスタント スイッチ: ファイルに数ビットを書き込むだけです! また、SVN のように分岐をディレクトリとは見なしません)

主な困難は、既に公開されている (パブリック リポジトリにプッシュされた) 履歴を壊さずに、異なるリポジトリ間でワークフローを確立することです。

代替テキスト
(ソース: infoq.com )

特にリベースは、ブランチの履歴を書き換え、それに関連付けられている SHA1 を変更するため、最初は正しく使用するのが難しい場合があります: パブリック ブランチに、つまり、他の開発者がプルしている多くのマージを意味します。それ。

于 2009-02-13T08:27:37.690 に答える
8

Git は奥が深く、最初は難しいかもしれません。特にデザイナーやその他の非技術者がチェックインおよびチェックアウトする必要がある場合はなおさらです。現在のプロジェクトでは svn バックエンドを実行しており、3 人の開発者が git を使用することを選択しましたが、2 人は引き続き svn を使用しており、完全に満足して生産的です。

とはいえ、git には多くの機能があります。git の魔法に深く入り込まなくても、その最も人気のある側面のいくつかを利用する方法をすぐに学ぶことができます: メイン リポジトリにアップストリームをプッシュせずにローカルでチェックインする機能と、ほぼ完全に手間のかからない分岐とマージです。

基本的な少数のコマンドで、非常に満足のいく git エクスペリエンスを実現できます。

そこにあるすべてのリソースの中で、Scott Chacon のGetting Gitは、git の利点を私に売り込み、学習曲線の急な部分を押し進める動機を与えてくれました。

于 2009-02-13T08:24:44.203 に答える
5

ギットハブ!本当に、私は github を使って git を理解することを学んだだけです。

于 2010-02-26T15:03:40.707 に答える
3

1 か月前に git を使い始めたばかりで、とても気に入っています。チームでも個人でも、すばやく簡単に使用できます。習得するのはそれほど難しくなく、git を使用するために新しい技術スキルを習得する必要はありませんでした。CVS/SVN からの移行をサポートしていることは知っています。最良の部分は、必要に応じて CVS/SVN スタイルのワークフローを引き続き維持できることです。

git wiki: http://git.or.cz/gitwiki および公式 Web サイト: http://git-scm.com/を参照することをお勧めします。

これが役に立ち、git の使用を楽しんでいただければ幸いです。

于 2009-02-13T08:29:27.000 に答える
3

これは Git に関する質問であることは理解していますが、OP は、多くの利点がすべての主要な分散バージョン管理システムに適用されることを認識する必要があります。Git、Mercurial、および Bazaar にはそれぞれ長所と短所があるため、3 つすべてを検討して、作業方法とプロジェクトに最適なものを決定する必要があります。

于 2010-03-01T05:53:46.313 に答える
2

GIT の話は、FOSS の歴史の古典です。ウィキペディアで Gitの歴史を参照してください。そのストーリーのタグ: BitKeeper、Andrew Tridgell、Torvalds、Git、2 日間で自己ホスト

まあ、答えではありませんが、FOSS/ハッカーの態度を持っている人はきっとそれを読むのが大好きです.

于 2010-02-26T14:44:55.010 に答える
2

多くの人が git の使い方がいかに複雑であるかについて話しますが、非常に単純な使用パターンに固執するなら、git が RCS と言うよりも複雑ではないということは何の価値もありません。

独自のロケール リビジョン コントロール (RCS を使用するのと同じ種類のもの) に git を使用することは、RCS を使用するよりも簡単であると私は主張します。

もちろん、多くの人や分岐などを伴う大きなプロジェクトに使用すると、従来のリビジョン管理システムよりも複雑になる可能性があります。

個人的には、主に個人的なプロジェクトや職場でのローカル リビジョン コントロールに使用してきました。私たちは仕事で perforce を使用していますが、チェックインできるブランチの数については非常に厳密です。完成したコンパイル可能でテスト可能なコードのチャンクをチェックインする必要がありました。

多くの場合、私はより大きなリファクタリングの仕事に取り組んでおり、同時に小さな修正を行っていました。perforceでジャグリングするのは非常に難しいことがわかりました。しかし、git を使用すると、さまざまな実験、リファクタリング、バグ修正を行うための小さなロケール ブランチをたくさん持つことができました。

したがって、私にとってgitの大きなセールスポイントは次のとおりです。

  • ロケール チェックインのサポート (メイン リポジトリにコミットする前に、段階的に作業をチェックインできます。
  • 多くのロケール ブランチを作成し、それらを切り替えるのが簡単で便利です。

最後のポイントの理由は、git はすべてのブランチを同じディレクトリに保持するため、git コマンドを使用してそれらを交換し、同じ場所にとどまることです。分岐するたびに新しいディレクトリ用に IDE の構成ファイルを設定する必要がなく、非常に多くの分岐を使用してスペースを浪費しないので、私はそれが好きです。

于 2009-02-19T08:56:13.377 に答える