correlati: Ogni git commit dovrebbe lasciare il progetto in uno stato funzionante?
Supponiamo che io faccia i seguenti commit in locale:
-
Modifica lo schema del database, rompendo l'applicazione.
-
Aggiorna l'applicazione in modo che sia di nuovo compatibile con lo schema del database.
Finché spingo entrambi i commit, master
rimane in uno stato funzionante. Tuttavia, una versione storica è incompleta.
Sono consapevole che posso usare git rebase -i
per schiacciare insieme i commit. Tuttavia, il commit risultante sarà ampio e meno descrittivo. Se devo cercare nella cronologia dei commit per scoprire perché ho cambiato qualcosa, preferisco trovare il commit originale che mostra cosa ho fatto e perché.
Le mie domande sono:
-
Qualcuno ha avuto difficoltà a causa di errori di storico in master?
-
In tal caso, esiste un modo semplice per evitare tali difficoltà, senza eliminare singoli messaggi di commit e modifiche?