Da Anonimo (non verificato) , 29 Aprile 2026

Due lignaggi di design

La CLI di Git e emersa organicamente. Quella di Mercurial e stata progettata top-down.

Coerenza dei comandi

Mercurial usa verbo-sostantivo coerentemente. I verbi di Git si sovrappongono.

Testo di aiuto

hg help commit
git help commit

Messaggi di errore

Mercurial ha errori notoriamente piu amichevoli.

Default sicuri

I comandi Mercurial raramente distruggono dati senza un'estensione esplicita.

Output di status

# Mercurial: minimal, comprehensible
hg status
M src/checkout.js
A src/payment.js
? notes.txt

# Git: more states, busier
git status

Comandi di branching

# Mercurial: branches are conceptually heavyweight
hg branch feature/login
hg commit -m "Start"

# Mercurial: bookmarks for Git-like branching
hg bookmark feature
hg commit -m "Start"

# Git
git checkout -b feature/login
git commit -m "Start"

Riscrittura storia

Git: git rebase -i, integrato. Mercurial: hg histedit, richiede di abilitare l'estensione.

Hook ed estensioni

Le estensioni Mercurial si plugano in pulitamente via Python.

Tab completion

Entrambi spediscono completion per le shell maggiori.

Il costo della non familiarita

Per qualcuno fluente in Git, i comandi rinominati di Mercurial e le estensioni gateate sembrano restrittivi.

Miglioramenti moderni

Git ha ridotto il gap UX con messaggi di errore migliori, switch e restore.