3 Stimmen

Was sind die Vor- und Nachteile von Git und Hg Version Control System?

Ich bin nun in der Lage, mich für ein Versionskontrollsystem zu entscheiden, und würde daher gerne einige Kommentare von erfahrenen Entwicklern erhalten, die diese Systeme verwendet haben. Welches sollte ich verwenden und unter welchen Bedingungen?

0 Stimmen

10voto

hyperslug Punkte 3293

Google Code hat kürzlich Mercurial gegenüber Git für sein System gewählt. In ihrer Analyse stellten sie fest, dass Mercurial

  • hatte eine leichtere Lernkurve
  • hatte gute Windows-Unterstützung
  • leichter zu pflegen war
  • lief schneller über HTTP

siehe http://code.google.com/p/support/wiki/DVCSAnalysis

0 Stimmen

Ziemlich seltsam, wenn man bedenkt, dass der Google-Code von den SVN-Leuten überwacht wird.

0 Stimmen

Ich glaube, es wurde argumentiert, dass die Google-Analyse ziemlich veraltet sei.

2 Stimmen

Ich denke, dass das letzte Argument ausschlaggebend war (schnelleres HTTP, aber Mercurial muss auf der Gegenseite installiert sein).

6voto

VonC Punkte 1117238

Denken Sie daran, dass Git und Mercurial beide DVCS (Distributed Version Control) sind, was etwas ganz anderes ist als ein zentrales VCS. Siehe die zentrale Konzepte SO Frage, um die Unterschiede zu erhalten.

Ansonsten können Sie auch auf Eric Weblog verweisen, wo " Git ist Wesley Snipes. Mercurial ist Denzel Washington " ;)

Ich habe mich für Bazaar und Git wegen der Erfahrung entschieden. Aber wenn ich mich als normaler Benutzer für ein DVCS entscheiden würde, würde ich Mercurial wählen. [...]
Die Leute bewundern Denzel Washington. Aber Wesley Snipes ist einfach interessanter.

Ich persönlich finde Git intuitiver, was das Verzweigen und Klonen von Repositories angeht, aber Hg hat eine bessere Unterstützung unter Windows (obwohl ich mich ziemlich mit msysgit )

Siehe auch "Der Unterschied zwischen Git und Mercurial" SO Frage, im Besonderen:
" Git ist MacGyver und Mercurial ist James Bond " ;)

1 Stimmen

Was ist das für eine "bessere Unterstützung unter Windows"? msysgit funktioniert ziemlich gut, wie Sie sagten, und es gibt auch ein TortoiseGit.

2voto

Eric Drechsel Punkte 2584

Beide sind recht robust und vielseitig. Schauen Sie sich an, was Kollegen und vorgelagerte Projekte verwenden, da die Verwendung desselben VCS die Zusammenarbeit erleichtert.

Als Open-Source-Entwickler werden Sie unweigerlich mit allen gängigen VCS in Berührung kommen. Ein Blick darauf, welche Systeme verschiedene Projekte gewählt haben, könnte hilfreich sein. Python, Mozilla, OpenJDK sind Mercurial-Benutzer. Viele kleinere Projekte verwenden Git, insbesondere im Webbereich. Und natürlich werden Sie Git verwenden wollen, wenn Sie sich mit dem Kernel befassen.

Ich verwende Git für meine Softwareprojekte und auch für die Versionierung meiner Dokumentation und bin sehr zufrieden mit seiner Robustheit und Benutzerfreundlichkeit, der einfachen Verzweigung und Zusammenführung usw.

Mercurial (mit dem ich nur begrenzte persönliche Erfahrungen habe) hat eine bessere Portabilität (Windows usw.).

0 Stimmen

Neben dem Linux-Kernel verwenden auch Ruby on Rails und Perl Git.

2voto

Greg Hewgill Punkte 882617

Die Leute von GitHub haben kürzlich eine Beta-Version von Hg-Git das den Anspruch erhebt, die Lücke zwischen diesen beiden Versionskontrollsystemen nahtlos zu schließen:

Dies ist das Hg-Git-Plugin für Mercurial, das die Möglichkeit bietet Push auf und Pull von einem Git-Server Repository von Hg. Das bedeutet, dass Sie an Git-basierten Projekten von Hg aus zusammenarbeiten können oder einen Git-Server als Kollaborationspunkt für ein Team mit Entwicklern verwenden können, die sowohl Git als auch Hg nutzen.

Mit den robusten Backend-Datenspeichern sowohl in Mercurial als auch in Git wird die Grenze zwischen diesen beiden konkurrierenden Versionskontrollsystemen in naher Zukunft wohl ziemlich verschwimmen.

0voto

Todd Gardner Punkte 13073

Um fair zu sein, ich habe nur begrenzte Erfahrung mit Git und keine mit Hg, aber eine Sache, die ich bei den wenigen Gelegenheiten, bei denen ich sie benutze, bei svn, perforce usw. vermisse, ist eine nette niedrige ganzzahlige Revisionsnummer, die ich anderen Entwicklern mitteilen kann.

Ansonsten ist Git ziemlich fantastisch; es vereinfacht die Verzweigung, die ich häufig verwende, und ist offline nutzbar, was sehr schön ist, wenn ich auf meinem Laptop entwickle.

Auch, Github \= Fantastisch.

0 Stimmen

Markieren Sie es einfach mindestens einmal (richtig), und verwenden Sie git describe

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