Por Anónimo (no verificado) , 29 Abril 2026

Misma era, estética diferente

Git y Mercurial fueron lanzados en abril de 2005, ambos como respuesta a las disputas de licencia de BitKeeper. Linus Torvalds escribió Git para el kernel Linux; Matt Mackall escribió Mercurial como alternativa.

La postura de Git: poder, bordes, confiar en el usuario

Git expone sus internals. Los comandos plumbing están documentados. Reescribir la historia se fomenta. El usuario es presumido competente.

La postura de Mercurial: seguridad, consistencia, conservadurismo

Mercurial oculta los internals más agresivamente. Los comandos por defecto rara vez reescriben la historia. El usuario es presumido mortal y protegido de bordes afilados.

El modelo de branch

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

# Mercurial: bookmarks son como branches Git
hg bookmark feature/login
hg commit -m "Start work"
hg bookmark -m feature/login feature-rename
# Git: branches son punteros mutables
git checkout -b feature/login
git commit -m "Start work"
git branch -m feature-rename

La experiencia CLI

El CLI de Mercurial es más uniforme. El CLI de Git creció durante décadas y tiene bordes ásperos.

Velocidad

Ambos sistemas son rápidos en proyectos típicos.

Extensiones y alcance

El modelo de extensiones de Mercurial es de primera clase. Git envía todo en un binario.

La cuestión de reescribir historia

Mercurial por defecto se rehúsa — debes habilitar histedit o rebase. Git por defecto permite — git rebase -i está integrado.

Función hash

Ambos usan SHA-1 históricamente. Git está migrando a SHA-256.

Divergencia del mundo real

Facebook (ahora Meta), uno de los usuarios más grandes de Mercurial, lo bifurcó construyendo Sapling. Mozilla usó Mercurial para Firefox hasta migrar a Git en 2023.

Por qué el ecosistema importa más que la pureza técnica

El CLI de Mercurial es discutiblemente más aprendible. Sin embargo Git ganó cuota de mercado porque GitHub apostó por Git, el kernel Linux siguió eligiendo Git, y los proveedores de tooling siguieron.

Qué llevarse de Mercurial

Incluso en un proyecto Git, las lecciones de Mercurial aplican: prefiere defaults seguros, gatilla operaciones peligrosas detrás de opt-in explícito.