La gestione della configurazione del software , di cui fa parte il controllo della versione , è un po 'più complessa rispetto al tenere traccia delle modifiche ai file, anche se si può certamente iniziare con quello. Ma leggi gli articoli di Wikipedia collegati sopra insieme al tutorial di Joel Spolky su Mercurial .
Per iniziare, scegli uno di Mercurial, GIT o Bazaar, in quell'ordine, e installalo insieme agli strumenti per il tuo IDE e sistema operativo (preferisco Mercurial con HGE per Eclipse).
- Inizializza un repository dalla tua directory di lavoro ( hg init con Mercurial) ..
- Decidi quali file e directory vuoi monitorare e quali no. La regola generale non è quella di tenere traccia dei file generati da compilatori e altri strumenti.
- Utilizzare il comando per aggiungere i file e le directory al repository ( hg add per Mercurial).
- Spiega allo strumento gli schemi per i file che non vuoi monitorare (modifica .hgignore per Mercurial).
- Eseguire un commit per tenere traccia delle versioni originali ( hg ci ).
- Esegui un commit dopo ogni pietra miliare logica, anche se piccola.
- Aggiungi nuovi file mentre li crei.
- Ripeti gli ultimi due.
- Eseguire il backup della directory di lavoro e del repository con la frequenza ragionevole.
Con i tuoi file nel repository, puoi conoscere le differenze tra due versioni qualsiasi di un file o directory o il progetto completo ( hg diff ), vedere la cronologia delle modifiche ( hg hist ) e ripristinare le modifiche ( hg up -r ).
È una buona idea taggare ( hg tag ) il repository prima di pubblicare il tuo codice, quindi c'è un modo semplice per tornare esattamente a ciò che hai pubblicato per modifiche o confronti.
Se vuoi sperimentare una diversa linea di sviluppo, fallo in un semplice ramo clonando il repository principale ( clone hg ) e non respingendo fino a quando l'esperimento non è conclusivo. È facile come avere una directory di lavoro diversa per l'esperimento.
Se l'esperimento riguarda una nuova versione aggiornata, clona e quindi ramifica (ramo hg ) in modo da poter aggiornare tutte le copie dei repository senza che un esperimento interferisca con l'altro.
Linus Torvalds (che si occupa di decine di migliaia di file e milioni di righe di codice nei suoi progetti) ha tenuto un discorso a Google sul perché lo strumento non può essere CVS, SVN o uno dei tanti gratuiti e commerciali in circolazione ; vale davvero la pena guardarlo.