Domanda

Ho appena iniziato a lavorare su un progetto che utilizza Mercurial come sistema di controllo della versione e ho bisogno di alcuni suggerimenti di base su come utilizzare questo. Si prega di utilizzare questa domanda per fornire alcuni suggerimenti introduttivi su questa tecnologia.

In particolare, sto cercando consigli sui migliori programmi da utilizzare e sulle migliori tecniche da utilizzare (filiali, in e out-checking ecc. Devo imparare le migliori pratiche!)

È stato utile?

Soluzione

So che hai già il sito Mercurial ma la risorsa più utile per me era il libro Mercurial . È un'eccellente panoramica del programma e di come usarlo.

Ho trovato il modo migliore per imparare Mercurial era solo usarlo su un progetto. Ho importato in Mercurial un progetto che avevo esportato dalla sovversione e con esso ho sviluppato regolarmente. Mi sono assicurato di clonare il repository per diversi changeset in modo da potermi abituare alla fusione e all'aggiornamento. Non ho imparato tutti gli usi avanzati, ma ora sono abbastanza solido e non sono ancora tornato a Subversion.

Molti progetti hanno tecniche diverse per il flusso di lavoro di commit. Alcuni hanno apportato modifiche agli sviluppatori, come i sistemi centralizzati, e altri attireranno le modifiche dai contributori (Linux, ad esempio). È difficile generalizzare troppo senza conoscere il processo per il tuo progetto.

Ecco come faccio il mio sviluppo:

  • Albero centralizzato su una condivisione file o http, chiamato project-trunk o project che è la versione definitiva del progetto
  • Un albero pulito sul mio sistema che ho clonato dal repository remoto e utilizzato per eseguire il push al repository. Quindi clonerò da questo albero per le mie modifiche. Chiamo questo albero project-local
  • Clona l'albero project-local per ciascuna delle mie modifiche: ad es. project-addusers , project-141 , ecc.
  • Dopo aver terminato il commit su un albero, spingo quindi le modifiche nel repository project-local
  • Infine, invia le modifiche nel project-local in project-trunk

Ho l'albero pulito project-local perché in questo modo posso riportare tutti i changeset al trunk in una sola volta, il che è utile se c'è un gruppo di modifiche correlate che devono respingere insieme.

Per quanto riguarda gli strumenti, dipende dalla tua piattaforma. Uso solo lo strumento da riga di comando vanilla. Venendo da TortoiseSVN, è stato un po 'una modifica passare alla riga di comando. Ma ora sto bene. Ho provato ad usare TortoiseHg ma non funzionava bene sulla mia macchina virtuale x64 di Windows 7. Ho sentito che è molto meglio sulle piattaforme supportate a 32 bit.

Altri suggerimenti

Ecco un tutorial utile su Mercurial scritto da Joel Spolsky .

Copre l'utilizzo e i comandi di base, oltre a come lavorare con Mercurial a un livello più concettuale. Se hai già familiarità con SVN, allora la prima parte merita sicuramente di essere letta: parla delle principali differenze concettuali tra SVN e Mercurial, perché cercare di usare Mercurial nello stesso modo in cui usi SVN richiede problemi.

Dai un'occhiata al Mercurial book o a questo Tutorial mercuriale .

A seconda del tuo background con altri strumenti di controllo del codice sorgente, suggerirei anche un SCM specifico, qualunque sia la guida di Mercurial. Ad esempio, dai un'occhiata a questa guida per utenti Subversion .

Un'altra buona risorsa per aggirare la testa su tutto " distribuito " l'idea di controllo del codice sorgente è: http://betterexplained.com/articles/ introduzione-a-versione-distribuita-controllo-illustrato / ... con diagrammi utili!

Se utilizzi l'ultimo client TortoiseHG e includi la directory di installazione nel tuo ambiente PATH, sarai in grado di utilizzare sia la bella interfaccia grafica che forniscono, sia la riga di comando 'hg'

Non posso raccomandare di usare troppo le estensioni di mq. Costituiscono un ottimo ambiente di "repository funzionante".

Uso le code per gestire le modifiche locali rispetto a un repository di sovversione. Apporto le mie modifiche locali a breve termine e utilizzo mercurial per rimanere in sintonia con la sovversione e il resto della squadra.

Alcuni dei post sul blog di Steve Losh sono buoni, anche se ormai hanno un paio di anni. Si occupano principalmente di come lavorare con le ramificazioni.

Vale anche la pena visitare il suo hgtip.com .

Oltre al Mercurial Book e al tutorial di Hg Init, vorrei menzionare la guida guidata dagli esempi che ho scritto:

Mostra come iniziare con Mercurial e copre anche alcuni concetti più avanzati come i rami denominati e hgsubversion. L'ho usato quando ho insegnato Mercurial a nuovi utenti e sembra che gli piaccia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top