Correlati: ogni commit git dovrebbe lasciare il progetto in uno stato funzionante?
Supponiamo che esegua i seguenti commit a livello locale:
Modifica lo schema del database, interrompendo l'applicazione.
Aggiorna l'applicazione in modo che sia nuovamente compatibile con lo schema del database.
Finché spingo entrambi gli impegni, master
rimane in uno stato di lavoro. Tuttavia, una versione storica è rotta.
Sono consapevole che posso usare git rebase -i
per schiacciare i commit insieme. Tuttavia, il commit risultante sarà ampio e meno descrittivo. Se devo cercare nella cronologia del commit per scoprire perché ho cambiato qualcosa, preferirei trovare il commit originale che mostra cosa ho fatto e perché.
Le mie domande sono:
Qualcuno ha incontrato difficoltà a causa di impegni storici rotti nel master?
In tal caso, esiste un modo semplice per evitare tali difficoltà, senza eliminare i singoli messaggi di commit e le modifiche?