2010-11-18 8 views
6

可能性の重複:私は/聞いた
Merging: hg/git vs. svnGitはSubversionよりもマージの方が優れていますか?

は、一般的にGitリポジトリとDVCSさんは、Subversionと集中型のバージョン管理システムよりも優れていることを読みました。そして私がこれについて聞いた理由の1つは、統合がDVCSのほうが集中システムよりずっと優れているということです。

2つのマージの違いは何ですか?あなたがブランチを再統合するとき、GitをSubversionよりも優れたものにするには?

+0

私は多くの "SVN併合の議論"はDVCS愛好家から来ていると思います。マージはSVNがCVSよりも大幅に改善されたものの一つですが、CVSの(悪いことに)悪評がSVNに反映されるかもしれません。私たちのチームでは、SVNで多くのことをマージしていますが、私は問題を知りません。 – sbi

+2

非常に関連しています:http://stackoverflow.com/questions/2613525/what-makes-merging-in-dvcs-easy – kolobos

答えて

5

彼らは分散しているという事実ではありませんが、バージョンよりもむしろチェンジセットを追跡しています。 (ただし、分散システムは通常チェンジセットで動作しますが、集中化されたシステムはバージョンを使用することが多いですが、分散システムはバージョンベースのアプローチでは機能しません。

私はこのバージョンを持っていましたが、私はそのバージョンを持っていました。そして、それがマージする時に、それは2つのバージョンをとり、それらを比較し、それらを組み合わせる方法についての教育された推測を行います。 Git、MercurialなどのSCMは、まずは何も持っていなかったので、誰かがこの変更を加えた後、他の誰かがその変更を加えました。マージの時は、基本的に変更を正しいものに適用するだけですここでは行番号を修正し、ファイル名の変更を考慮に入れていますが、基本的にはそれです。

Subversionはインテリジェントなマージを実行するのに十分な情報を持っていません。違いは見えますが、どこから来たのか分かりません。

+4

同じ情報を見つけるためにSubversionがリビジョンを横断することはできませんでしたか? –

+2

@Lasse:もちろんです。 'r1'と' r2'の違いがなければ 'r1'と' r2'の違いは何ですか?その議論は本当に私を逃れる。 – sbi

+3

さて、もしSubversionが元のファイルだけを見て最終的な結果を見るならば、DVCSは少なくともこれらのステップを使ってマージを行うすべての中間ステップを失います。しかし、私の疑問は、Subversionが中間のリビジョンを分析してそれらのステップを見つけられなかった理由です。私はまだDVCSマージの魔法がどこから来るのかについての良い説明を探しています。 –

3

Linus torvaldsさんがgitの話をしました。available on youtubeと見て分かります。その中で、彼はすべてのソース管理ソリューションを却下したが、なぜgitが優れているのかを説明する。

個人的には、私はgitを使いこなすのがいらいらしており、私は毎日専門的にSVNを使います。私はsvnが十分に速いと私の必要性のために十分に合併して&分岐をしないと思う。

しかし、私はソースコントロールの専門家です!

+2

さて、彼はちょっと、git *が素晴らしいと説明しますが、gitが管理する方法すばらしいです。たとえば、gitは個々のファイルの代わりにプロジェクト全体を追跡すると言います。しかし、それを変更する人と並行してテキストを別のファイルに移動するという単純な実験でも、私はマージの競合を引き起こします。 –

関連する問題