Par Anonyme (non vérifié) , 29 avril 2026

Même époque, esthétique différente

Git et Mercurial ont tous deux été lancés en avril 2005, tous deux comme réponses aux disputes de licence de BitKeeper. Linus Torvalds a écrit Git pour le kernel Linux; Matt Mackall a écrit Mercurial.

La position de Git : puissance, bords, faire confiance à l'utilisateur

Git expose ses internals. Réécrire l'historique est encouragé. L'utilisateur est présumé compétent.

La position de Mercurial : sécurité, cohérence, conservatisme

Mercurial cache les internals plus agressivement. Les commandes par défaut réécrivent rarement l'historique.

Le modèle de branche

# Mercurial : named branches sont permanents
hg branch feature/login
hg commit -m "Start work"

# Mercurial : bookmarks sont comme des branches Git
hg bookmark feature/login
hg commit -m "Start work"
hg bookmark -m feature/login feature-rename
# Git : branches sont des pointeurs mutables
git checkout -b feature/login
git commit -m "Start work"
git branch -m feature-rename

L'expérience CLI

La CLI de Mercurial est plus uniforme. La CLI de Git a grandi sur des décennies et a des bords âpres.

Vitesse

Les deux systèmes sont rapides sur les projets typiques.

Extensions et portée

Le modèle d'extensions de Mercurial est de première classe. Git livre tout dans un binaire.

La question de la réécriture d'historique

Mercurial par défaut refuse — vous devez activer histedit ou rebase. Git par défaut autorise.

Fonction de hash

Les deux utilisent SHA-1 historiquement. Git migre vers SHA-256.

Divergence du monde réel

Facebook (maintenant Meta), un des plus grands utilisateurs de Mercurial, l'a forké pour construire Sapling. Mozilla a utilisé Mercurial pour Firefox jusqu'à migrer vers Git en 2023.

Pourquoi l'écosystème compte plus que la pureté technique

La CLI de Mercurial est sans doute plus apprenable. Pourtant Git a gagné des parts de marché.

Que retenir de Mercurial

Même sur un projet Git, les leçons de Mercurial s'appliquent.