2010-05-10 16 views
5

Ho faticato a fare quella domanda ma eccolo qui. Sto usando il controllo del codice sorgente da diversi anni per più progetti che usano sistemi diversi (svn, hg, git) e ho imparato come migliorare i miei messaggi seguendo le linee guida ecc. Ma per quanto posso ricordare non ho mai visto loro dopo.Qual è l'uso dei messaggi di commit?

Quindi ... come si guadagna dai propri messaggi di commit? Quando ho bisogno di tornare indietro perché ho rotto qualcosa e ho bisogno di un nuovo inizio, di solito torno all'ultimo "nodo" (dove ho avviato o fuso un ramo). Scrivo quei messaggi solo per le persone che monitorano il progetto e sono curiosi di sapere cosa sta succedendo?

saluti

risposta

6

"Inviami una lista delle cose che hai fatto nelle ultime due settimane" - Boss

+0

Dovrò parlare con il mio capo della fiducia e del modo in cui i programmatori lavorano. Oppure vattene;) – ericteubert

+3

Questo potrebbe non avere nulla a che fare con la fiducia. Nello specifico, in un caso che viene in mente, voleva solo sapere cosa inserire nel documento delle note di rilascio. – shoosh

+0

good point shoosh – ericteubert

3

Una cosa che ho trovato è che i messaggi di commit sono un buon modo per tenermi da non commettendo abbastanza spesso. Se non riesco a inserire le modifiche in un messaggio di commit breve, probabilmente avrei dovuto eseguire le modifiche in precedenza.

4

I tuoi messaggi sono più per gli altri utenti che per te. Anche se mi assicuro di inserire buoni messaggi di commit anche sui repository personali. Aiuta quando ti lasci sviare su un progetto e visitalo per mesi per prendere una decisione sul lavoro recente svolto su un progetto.

+2

Non c'è niente che odio di più che aggiornare e ottenere dozzine di file aggiornati e non avere un messaggio che mi dice perché quei file dovevano essere cambiati. – tster

+0

concordato. Vedo che il codice si impegna in una biblioteca comune senza alcun indizio sul motivo per cui sono stati creati - lo adoro;) –

7

Le scrivi come un aiuto per il tuo sé futuro e per gli altri nella squadra. Per darvi qualche informazione su quando li ho trovati utili:

Ero abituato a lavorare su un progetto in cui i messaggi di commit erano inestimabili - in più di un'occasione li ho usati per rintracciare il codice che era vecchio di anni. In quel progetto il nostro sistema di tracciamento dei bug è stato integrato anche con il nostro VCS (ClearCase). Quindi, quando hai effettuato il check-in di una modifica, il numero del bug veniva registrato nei commenti di commit. Questo è stato molto utile per consentire di risalire esattamente a ciò che è stato cambiato e perché.

Quindi, per riassumere, anche se i messaggi di commit possono sembrare inutili se sei appena agli inizi (soprattutto se sei l'unico a lavorare sul progetto), diventano inestimabili una volta che hai un prodotto di successo che è supportato nella produzione da più sviluppatori.

Aggiornamento

Un'altra caratteristica utile di messaggi di commit è che richiedono di rivedere e riassumere le modifiche appena apportate. Anche se ricordo che cosa ho cambiato, farò spesso una copia veloce di un file prima di verificarlo. Lo leggerò brevemente per accertarmi che non ci siano errori di battitura, che ho cambiato tutto ciò che intendevo, ecc. Questo è un modo semplice per rivedere il tuo codice per quei piccoli piccoli bug che altrimenti troverebbero la loro strada nel tuo codice. Ad ogni modo, dopo aver fatto ciò, ho una chiara immagine di ciò che è cambiato, quindi lo uso per scrivere un breve sommario del cambiamento quando si verifica il file. Questa è una semplice abitudine che aiuta ad aumentare la qualità del codice con un piccolo sforzo da parte tua.

1

Nel migliore dei casi, un commit è associato a un oggetto di lavoro in una funzione/bug tracker. In questo modo sarai in grado di vedere facilmente quale funzionalità/bug è stata implementata/risolta. Questo non è utile solo per sapere se una certa revisione contiene una funzionalità o una correzione di bug, ma anche per creare facilmente una nota di rilascio.

1

Quale sarebbe il punto di un commit senza una nota per dirti di cosa si tratta? È come chiedere "Perché i libri hanno titoli ai lati?", O forse "Perché i libri hanno indici e numeri di pagina?". Mi sembra che un log di controllo del codice sorgente che non ha una descrizione per ogni modifica non sarebbe molto utile.

Motivi potrebbe essere necessario fare riferimento al messaggio di commit includono

  • Un bug è emerso e si desidera trovare quando quella parte del codice è stato cambiato all'ultimo
  • si decide di annullare alcuni cambiamenti e necessità per decidere quale revisione per tornare alla

per una di queste possibilità, senza una buona messaggi di commit, si sarebbe lasciato guardando attraverso le diff per ogni singolo impegnarsi fino a quando hai trovato quello che stavi cercando nel codice.