I messaggi di commit dovrebbero essere espliciti da soli, senza richiedere una diff?

3

Ho notato che recentemente ho scritto il seguente messaggio di commit:

Since HTML changed, getting the index would always result in zero, since the element is now enclosed in a parent block.

Per chi inizia visualizzando per prima cosa il diff del commit commit (ad esempio dopo aver eseguito blame su un file) e non ottiene lo scopo della modifica, questo messaggio è utile:

  • Indica perché è stata eseguita la modifica all'interno del commit, non quale era la modifica (un diff direbbe a che la modifica in realtà è).

  • Spiega l'immagine più grande, il contesto in cui è stato eseguito il commit.

Tuttavia, per qualcuno che sta semplicemente sfogliando il log, il messaggio è assolutamente criptico. Quale HTML? Quale indice? Quale blocco genitore? Cosa diavolo sta succedendo qui? Per capire questo, la persona dovrebbe avere bisogno di diff delle modifiche e solo allora capirà il messaggio. Non importa nemmeno se la persona conosce il progetto; Sono abbastanza sicuro di non essere in grado di spiegare il messaggio da solo in una settimana senza consultare i risultati di diff .

Un messaggio di log di un commit dovrebbe essere esplicito da solo, senza che uno sviluppatore debba esplorare il diff per comprenderlo?

    
posta Arseni Mourzenko 24.07.2016 - 00:54
fonte

2 risposte

2

IMHO, no. A volte, un commit è troppo grande per essere spiegato in modo sufficientemente dettagliato nel messaggio, per non richiedere l'esplorazione di ' diff '.

Tuttavia, cambierei perché in cosa (descritto a grandi linee). In questo modo, uno sviluppatore può avere una buona idea di ciò che è stato influenzato da quel commit e deve solo esplorare diff se vuole davvero entrare nei dettagli.

Per quanto riguarda perché , se stai usando una sorta di sistema di tracciamento dei bug, farei riferimento al numero di problema nel messaggio di commit. In caso contrario (improbabile), è meglio menzionare perché anche a grandi linee.

    
risposta data 24.07.2016 - 01:21
fonte
1

Gli stati di git mantra

commit often

I commit non dovrebbero essere fatti dopo che un modulo completo è stato codificato. I commit dovrebbero essere fatti dopo le modifiche che funzionano e aggiungere qualcosa di organico no l'obiettivo del progetto.

Se ti attieni a quel mantra e commetti spesso e scrivi un chiaro messaggio di commit, allora tale messaggio dovrebbe essere un indicatore abbastanza chiaro di ciò che è stato influenzato dal commit.

Tuttavia dovrai spesso inviare un comando diff per vedere le modifiche nel contesto.

Bottom line:

Entrambi i messaggi di commit e diff si completano a vicenda e ognuno ha il suo scopo.

    
risposta data 23.08.2016 - 01:50
fonte

Leggi altre domande sui tag