Sono nuovo di Mercurial e quello che sto iniziando a realizzare è che il mio flusso di lavoro di base potrebbe non essere il modo più efficiente di lavorare perché eseguo commit così frequentemente e per miglioramenti di funzionalità che sono così piccolo che quando ho bisogno di trovare qualche passo precedente per tornare a, è estremamente difficile.Si prega di suggerire un flusso di lavoro migliore in Mercurial
Ecco cosa faccio dopo che ho creato un progetto in Mercurial e ho già completato il mio primo commit.
- apportare alcune modifiche a un file e farlo ad uno stato in cui un piccolo miglioramento sta lavorando
hg commit -m "improvement A works"
- apportare alcune modifiche allo stesso file e farlo ad uno stato in cui il successivo miglioramento minore è lavoro.
hg commit -m "improvement B works"
- Verificare se tutti i miglioramenti minori si sommano a una singola funzione secondaria funzionante correttamente.
hg commit -m "feature A works"
Se trovo un errore che è stato fatto in "miglioramento A", apro la storia (con il plugin visiva Netbeans Mercurial) e copiare e incollare una parte del codice di nuovo nella mia versione corrente e ricomincia da lì.
Questo non sembra un buon sistema - Apprezzerei qualsiasi suggerimento.
las3jrock: Grazie. Perché consigli i rami per le funzionalità piuttosto che per i miglioramenti all'interno di una funzione? – uzo
Raccomando le diramazioni per le caratteristiche piuttosto che per i singoli miglioramenti che costituiscono ciascuna caratteristica perché rende i rami un livello intermedio di astrazione tra il repository (che contiene l'intera cronologia di revisione del progetto) e singoli commit (che sono le unità atomiche del Cronologia delle revisioni). In questo flusso di lavoro, i commit correlati sono raggruppati in rami. Nel flusso di lavoro descritto da Jon, sembra che ogni ramo contenga esattamente un commit, nel qual caso branch e commit sono rappresentazioni ridondanti della stessa unità della cronologia delle revisioni. – las3rjock
No no, non intendevo implicare che avresti usato un ramo per un commit, sarebbe ridicolo:). Era solo pensato per designare un'unità di lavoro - un miglioramento potrebbe essere l'aggiunta di un nuovo campo a un modulo web, o una correzione di bug, o un grande progetto in sé, sta a voi determinare la granularità a cui volete lavorare ... – Jon