Sia Git che Mercurial sono DVCS, ed è grandioso. Mi chiedo se ci sia un elenco di situazioni particolari quando uno di questi sistemi è preferibile, qualcosa del tipo "Nello sviluppo mobile per molte piattaforme git è meglio perché ...".
Sia Git che Mercurial sono DVCS, ed è grandioso. Mi chiedo se ci sia un elenco di situazioni particolari quando uno di questi sistemi è preferibile, qualcosa del tipo "Nello sviluppo mobile per molte piattaforme git è meglio perché ...".
Sei tu e / o il tuo team basato su Windows ?: Mercurial è meno complicato da usare / configurare di Git, dal momento che è necessario installare una console bash (è possibile utilizzare cygwin invece).
Se sei basato su linux / mac, la scelta va bene, ma potresti goderti un po 'di più a causa di tutti i suoi strumenti potenti.
Se sei nuovo ai DVCS, scegli Mercurial. Altrimenti, prova git. Git ha molti giocattoli che potrebbero rendere la tua curva di apprendimento un po 'più ripida, Mercurial, OTOH, imparerai in un attimo. Leggi link per una guida molto completa.
Inoltre, leggi link se vieni da CVS / SVN.
Mercurial è un DVCS completo, git OTOH Direi addirittura che è quasi un framework DVCS (controlla questo cheatsheet out) in grado di supportare casi di workflow più specifici per team / progetti molto grandi.
Inoltre, molto importante, git ti consente di cambiare la cronologia del tuo repository, che può essere considerata una cosa brutta (); Mercurial non ti consente di cambiare la cronologia.
In termini generali, direi che git è eccessivo in un buon modo. Personalmente, uso sia mercurial che git, ma insegno sempre mercurial ai miei colleghi
In realtà e IMHO, dovresti imparare entrambi, ma inizia sempre con Mercurial. Trovo davvero come si confrontano (che sono in realtà dettagli un po 'più piccoli) Ti consiglio di leggere questi due articoli:
Per prima cosa cerca di rendere più piacevole la tua introduzione ai DVCS. Ho visto un sacco di persone invadere la loro strada nel git e finirlo per amarlo, ma OTOH ho visto persone che si fanno strada in modo mercuriale in completo stupore. Dopodiché, se ti senti mercuriale non è abbastanza, puoi continuare il tuo percorso con git senza soluzione di continuità.
Aggiornamento: Mercurial ora è meglio per permettervi di modificare la cronologia, vedi:
Dovresti utilizzare git quando un progetto o una comunità a cui vuoi contribuire utilizza git e usa Mercurial quando usano Mercurial . Può sembrare ovvio, ma la community è più importante dello strumento.
Suggerirei di apprendere entrambi, dal momento che sono così simili in molti modi, in questo modo è possibile contribuire ugualmente facilmente ai progetti e alle comunità che li utilizzano.
Ad esempio, se stai iniziando un progetto per sviluppare un driver di dispositivo Linux, git è la scelta più ovvia, mentre se è un progetto python , hg sarebbe logico.
Un'eccellente descrizione del perché Python ha scelto mercurial può essere trovata su Brett Cannon s blog, che rimanda al suo articolo PEP 374 - Scegliere un VCS distribuito per Python progetto che documenta il loro processo decisionale.
Purtroppo, non sono riuscito a trovare rapidamente un documento equivalente per una comunità che ha scelto git invece.
Il tempo passa, le comunità cambiano e tutti noi dobbiamo cambiare con loro. Mentre il mio consiglio originale che la community è più importante dello strumento è ancora valido, molte altre community sono influenzate dai vantaggi di git
quindi, se finisci per utilizzare hg
per i progetti personali, in questi giorni va bene vale la pena imparare ad usare comunque git
, specialmente con il github s supporto per readthedocs e travis , tra molti altri .
Brett Cannons La storia dietro la decisione di spostare Python in GitHub illustra in dettaglio le motivazioni alla base di mosse simili di molti altri progetti e comunità.
Generalmente Mercurial è più facile da imparare di Git
Quindi usa Mercurial (Hg) se vuoi imparare il controllo della versione distribuita e fare in modo che il tuo progetto per animali domestici sia immediatamente pronto.
Servizi online come BitBucket offrono le stesse funzionalità di GitHub per progetti collaborativi.
Abbiamo usato SVN, che è migrato su MERCURIAL e recentemente a GIT. Git presenta alcuni vantaggi immediati rispetto a hg: stashing e indice (più semplici commit atomici). Allora apprezzerai la facile ramificazione. Ti pentirai di git and miss hg quando qualcosa va storto o quando hai bisogno di capire profondamente alcuni concetti come "rebasing" o "fast forwarding". Odio davvero dover scavare nelle opzioni follia di git quando ho bisogno di fare qualcosa di banale come "svn revert" ... In conclusione: git fa troppo per la maggior parte dei progetti che lo stanno usando e anche la curva di apprendimento è troppo ripida. (ah, e ridono davvero quando "git stat" dice "Intendi lo stato?" - Lo so, alias, lo so ...)
Da un po 'di tempo, Mercurial ha funzionato meglio su Windows di Git, e questa era una ragione per usare Mercurial. In genere è anche più facile da ottenere.
Sia Mercurial che Git faranno praticamente quello che vuoi con un DVCS. Ci sono differenze, ma è improbabile che contino nelle operazioni quotidiane per la maggior parte delle persone. Apprendi prima uno per ottenere i concetti, poi puoi imparare a usare l'altro velocemente quando ne hai bisogno o vuoi.
Penso che tutto dipenda dalla piattaforma che usi. Ho deciso di usare git su un progetto PHP che sapevo che tutti usavano * nix perché non avevano problemi a digitare i comandi in.
Per il mio altro progetto PHP abbiamo un sacco di gente che usa Windows e Mac e Linux. È stato un gioco da ragazzi usare tutte queste piattaforme su Mercurial.
Inoltre, penso che ciò che è positivo sia il fatto che sia NetBeans che Eclipse offrono il supporto per Mercurial praticamente fuori dagli schemi. L'ultima volta che ho provato a usare git su Eclipse è stato pessimo e ho finito con l'uso della console. (Era pochi mesi fa)
Penso che sia meglio impararne uno e poi leggere uno dei tutorial che mostra le differenze di comando, ecc. Imparare due allo stesso tempo ti frustrerà a causa di alcune piccole differenze di comando.
Questa è una vecchia domanda e le risposte erano valide al momento in cui sono state scritte.
Quindi, prima di tutto, guarda le abilità del tuo team e se conoscono Mercurial ma non Git, potrebbe essere una buona ragione per usare Mercurial.
Altrimenti penso che sia molto simile alla Guerre per videocassette della mia infanzia. Betamax era chiaramente la "migliore" registrazione di qualità, eppure VHS ha vinto ed è stata chiaramente l'opzione migliore per la maggior parte delle persone, poiché è stata utilizzata da così tante altre persone.