726 Stimmen

Was ist der Unterschied zwischen Mercurial und Git?

Ich verwende Git schon seit einiger Zeit unter Windows (mit msysGit) und ich mag die Idee der verteilten Quellcodekontrolle. Vor kurzem habe ich mir Mercurial (hg) angeschaut und es sieht interessant aus. Allerdings kann ich die Unterschiede zwischen hg und git nicht ganz nachvollziehen.

Hat jemand einen direkten Vergleich zwischen git und hg gemacht? Ich würde gerne wissen, was hg und git unterscheidet, ohne in eine Fanboy-Diskussion zu geraten.

5voto

Greg Hewgill Punkte 882617

Irgendwann letztes Jahr habe ich sowohl git als auch hg für meinen eigenen Gebrauch evaluiert und mich für hg entschieden. Es schien mir die sauberere Lösung zu sein und funktionierte damals auf mehr Plattformen besser. Es war aber eher ein Hin und Her.

Seit kurzem verwende ich git wegen git-svn und der Möglichkeit, als Subversion-Client zu agieren. Das hat mich überzeugt und ich bin jetzt komplett auf Git umgestiegen. Meiner Meinung nach ist die Lernkurve etwas höher (vor allem, wenn man im Inneren herumstochern muss), aber es ist wirklich ein tolles System. Ich werde jetzt die beiden Vergleichsartikel lesen, die John gepostet hat.

4voto

Erik van Brakel Punkte 22454

Ich bin gerade dabei, von SVN auf ein DVCS zu migrieren (während ich über meine Ergebnisse blogge, mein erster richtiger Blogging-Versuch...), und ich habe ein bisschen recherchiert (=gegoogelt). Soweit ich sehen kann, kann man die meisten Dinge mit beiden Paketen machen. Es scheint, als hätte Git ein paar mehr oder besser implementierte erweiterte Funktionen, Ich habe das Gefühl, dass die Integration mit Windows bei Mercurial etwas besser ist, mit TortoiseHg. Ich weiß, dass es auch Git Cheetah gibt (ich habe beide ausprobiert), aber die Mercurial-Lösung fühlt sich einfach robuster an.

Da sie beide Open-Source sind (richtig?), glaube ich nicht, dass es beiden an wichtigen Funktionen mangeln wird. Wenn etwas wichtig ist, werden die Leute danach fragen, und die Leute werden es programmieren.

Ich denke, dass Git und Mercurial für gängige Praktiken mehr als ausreichend sind. Beide haben große Projekte, die sie verwenden (Git -> Linux-Kernel, Mercurial -> Mozilla Foundation-Projekte, beide natürlich neben anderen), also denke ich nicht, dass es beiden wirklich an etwas fehlt.

Trotzdem interessiert es mich, was andere Leute dazu sagen, denn es wäre eine gute Quelle für meine Blogging-Bemühungen ;-)

4voto

Spoike Punkte 115938

Es gibt einen großartigen und ausführlichen Vergleich von Tabellen und Diagrammen zu Git, Mercurial und Bazaar auf der Seite InfoQ's Leitfaden über DVCS .

3voto

joho Punkte 41

Mir ist klar, dass dies nicht Teil der Antwort ist, aber in diesem Zusammenhang denke ich auch, dass die Verfügbarkeit von stabilen Plugins für Plattformen wie NetBeans und Eclipse eine Rolle dabei spielt, welches Tool besser für die Aufgabe geeignet ist, oder besser gesagt, welches Tool für "Sie" am besten geeignet ist. Das heißt, es sei denn, Sie wirklich die CLI-Methode verwenden möchten.

Sowohl Eclipse (und alles, was darauf basiert) als auch NetBeans haben manchmal Probleme mit entfernten Dateisystemen (z. B. SSH) und externen Dateiaktualisierungen; das ist ein weiterer Grund, warum Sie wollen, dass das, was Sie wählen, "nahtlos" funktioniert.

Ich versuche auch gerade, diese Frage für mich selbst zu beantworten und ich habe die Kandidaten auf Git oder Mercurial reduziert danke an alle, die nützliche Beiträge zu diesem Thema geliefert haben, ohne religiös zu werden.

2voto

asmaier Punkte 10227

Wenn Sie an einem Leistungsvergleich zwischen Mercurial und Git interessiert sind, schauen Sie sich die folgende Seite an dieser Artikel . Die Schlussfolgerung ist:

Git und Mercurial weisen beide gute Zahlen auf, bieten aber einen interessanten Kompromiss zwischen Geschwindigkeit und Repository-Größe. Mercurial ist sowohl bei Hinzufügungen als auch bei Änderungen schnell und hält gleichzeitig das Wachstum des Repositorys unter Kontrolle. Git ist ebenfalls schnell, aber sein Repository wächst sehr schnell mit geänderten Dateien, bis man es neu packt - und dieses Neupacken kann sehr langsam sein. Aber das gepackte Repository ist viel kleiner als das von Mercurial.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X