A tutte le persone che dicono "commetti solo quando hai un messaggio utile e ben pensato da scrivere, e quando la tua funzione è completa al 100% e hai dei test unitari per questo", dico: Tu " ancora nella mentalità SVN.
Se utilizzi git , questo è quello che definirei un flusso di lavoro intelligente:
- Impegna tutte le volte che vuoi . Scrivi qui un vecchio messaggio rapido. Nessuno lo vedrà comunque.
- Dopo aver detto, 10 commit, hai terminato la funzione su cui stavi lavorando. Ora scrivi test e commetti quei test. O qualunque altra cosa tu voglia. Se ti piace il TDD, scrivi prima i test, non mi interessa, nemmeno git.
-
git rebase -i
del primo commit "disordinato" che hai aggiunto e correggi la tua cronologia locale schiacciando, modificando, omettendo e altrimenti ripulendo la cronologia recente in commit logico e pulito con messaggi carini .
- Dopo la pulizia, chiedi a qualcuno di contattarti.
- Risciacqua e ripeti.
Si noti che il passaggio 3 è quando si finisce con quei bei commit che si cercavano, e che usando SVN si dovrebbe astenersi dal commit fino a quando non si sono compiuti i primi due passaggi, che è ciò che la maggior parte delle altre risposte stanno suggerendo. IOW, non vuoi infliggere il tuo codice scritto a metà, non testato ad altri, quindi non impegnarti per una settimana, fino a quando la tua funzione non sarà completata. Non stai utilizzando il controllo della versione al massimo del suo potenziale.
Nota anche che, ovunque tra i passaggi 1 e 3, puoi git push
le tue modifiche al tuo mirror repo privato sul server per ottenere backup gratuiti se l'HDD del laptop muore.