Connexes: chaque git commit devrait - il laisser le projet dans un état de fonctionnement?
Supposons que je fasse les commits suivants localement:
Modifiez le schéma de la base de données, interrompant l'application.
Mettez à jour l'application afin qu'elle soit à nouveau compatible avec le schéma de base de données.
Tant que je pousse les deux commits, master
reste dans un état de fonctionnement. Cependant, une version historique est cassée.
Je sais que je peux utiliser git rebase -i
pour écraser les commits ensemble. Cependant, le commit résultant sera volumineux et moins descriptif. Si je dois rechercher dans l'historique des validations pour savoir pourquoi j'ai changé quelque chose, je préfère trouver la validation d'origine montrant ce que j'ai fait et pourquoi.
Mes questions sont:
Quelqu'un a-t-il rencontré des difficultés dues à des engagements historiques brisés dans master?
Dans l'affirmative, existe-t-il un moyen simple d'éviter de telles difficultés, sans rejeter les messages de validation et les modifications individuels?