Sono d'accordo che git rebase -i
sia il modo corretto per rimuovere le modifiche locali prima di spingere.
Sono anche d'accordo che se senti la necessità di aggiungere commenti per rendere comprensibile il codice, è probabile che aiutino anche i tuoi colleghi e quindi dovresti spingerli.
In entrambi i casi i commenti dovrebbero essere aggiunti in un commit separato in cui non si modifica nient'altro che i commenti. Se aggiungi un po 'di commenti alla volta, puoi considerare di combinare i commenti commessi utilizzando fixup
comando in git rebase -i
per inserire meno pezzi.
Se metti i commenti su linee separate, la colpa attribuirà solo le linee di commento ma non le linee di codice, poiché non sono cambiate. Generalmente il codice non deve essere troppo ampio, quindi si adatta allo schermo con toolbox IDE su entrambi i lati, quindi lo spazio raramente disponibile alla fine della riga è comunque molto utile.
Anche se tocchi le linee e la colpa inizierà ad attribuirle, di solito ci sono molti cambiamenti in una linea e quando si guarda un'annotazione della colpa, è raro che si cerchi l'ultima modifica. Non ci sono scuse per non vedere quale sia stata l'ultima modifica alla linea e non per rimproverare la colpa della revisione precedente.
Questo è uno dei motivi per cui l'opzione preferita da utilizzare quando si cerca un codice è "pickaxe", git log -S
testo (e git log -G
modello ). Se dai solo il codice sulla linea, non troveranno il commit che ha aggiunto un commento, solo il commit che ha effettivamente introdotto il codice.
E ricorda, rendere il codice più facile da capire, almeno rinominando le cose per essere più descrittive, è meglio dei commenti, perché i commenti potrebbero diventare obsoleti mentre il codice è refactored, ma il codice stesso non può.