524 votes

Git et Mercurial - Comparer et de Contraste

Pour un peu, j'ai été en utilisant subversion pour mes projets personnels.

De plus en plus et j'entends que de bonnes choses sur Git et Mercurial, et DVCS en général.

Je tiens à donner à l'ensemble de la DVCS chose un tourbillon, mais je ne suis pas trop familier avec l'une ou l'autre option.

Quelles sont les différences entre Mercurial et Git?

Notez que je ne suis pas en essayant de trouver celui qui est le "meilleur" ou même de mon départ. Je suis principalement à la recherche pour les principaux domaines où ils sont semblables et où ils sont différents, parce que je suis curieux de savoir comment ils diffèrent en termes de mise en œuvre et de la philosophie.

58voto

artemb Points 3303

Je pense que vous pouvez vous faire une idée de ce que ces systèmes sont similaires ou différentes par whatching ces deux vidéos:

Linus Torvalds sur Git (http://www.youtube.com/watch?v=4XpnKHJAok8)
Bryan O'Sullivan sur Mercurial (http://www.youtube.com/watch?v=JExtkqzEoHY)

Deux d'entre eux sont très similaires dans leur conception, mais très différents dans les implémentations.

J'utilise Mercurial. Autant je comprends Git, un grand chose git est différent, c'est qu'il les pistes de contenu de fichiers à la place des fichiers eux-mêmes. Linus a dit que si vous déplacez une fonction à partir d'un fichier à l'autre, Git va vous raconter l'histoire de cette seule fonction à travers le mouvement.

Ils disent aussi que git est plus lent sur HTTP, mais il a son propre protocole réseau et le serveur.

Git fonctionne mieux comme un SVN client lourd de Mercurial. Vous pouvez tirer et pousser contre un serveur SVN. Cette fonctionnalité est encore en cours de développement dans les Mercurial

Les deux Mercurial et Git ont très agréable hébergement web solutions disponibles (BitBucket et GitHub), mais Google Code prend en charge Mercurial uniquement. En passant, ils ont une très détaillé de la comparaison de Mercurial et Git ils l'ont fait pour les choix de soutien (http://code.google.com/p/support/wiki/DVCSAnalysis). Il a beaucoup de bonnes infos.

30voto

Steve Losh Points 11958

J'ai écrit un billet de blog à propos de Mercurial modèles de ramifications à une époque, et inclus des comparaisons par rapport à git de branches. Peut-être que vous le trouverez intéressant: http://stevelosh.com/blog/entry/2009/8/30/a-guide-to-branching-in-mercurial/

27voto

james woodyatt Points 1519

J'utilise assez régulièrement. La fonctionnelle majeure différence est dans la façon de Git et Mercurial nom branches dans les référentiels. Avec Mercurial, les noms de branche sont clonés et tiré le long de leurs révisions. Lorsque vous ajoutez des modifications à une nouvelle branche en Mercurial et pousser à un autre référentiel, le nom de la branche est poussé en même temps. Ainsi, les noms de branches sont plus ou moins globale dans Mercurial, et vous devez utiliser le Signet d'extension de locaux-seulement léger, les noms (si vous le désirez Mercurial, par défaut, utilise anonyme léger codelines, qui, dans sa terminologie sont appelés "têtes"). Dans Git, les noms de branches et de leurs injective cartographie à distance branches sont stockées localement et vous devez les gérer de manière explicite, ce qui signifie savoir comment le faire. C'est à peu près l'endroit où Git obtient sa réputation d'être plus difficile à apprendre et à utiliser que les Mercurial.

Comme d'autres vont à noter ici, il y a beaucoup de différences mineures. Le truc avec les branches, c'est la grosse différence.

19voto

Jakub Narębski Points 87537

Jetez un oeil à Git vs Mercurial: Veuillez vous Détendre blog de Patrick Thomson, où il écrit:
Git est MacGyver, Mercurial est James Bond

Notez que ce blog est du 7 août 2008, et à la fois SCM beaucoup amélioré depuis.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X