Sono sempre stato d'accordo con il mantra 1 di Mercurial , tuttavia, ora che Mercurial viene fornito in bundle con l'estensione rebase ed è una pratica popolare in git, mi chiedo se possa davvero essere considerata una "cattiva pratica", o almeno abbastanza male da evitare l'uso. In ogni caso, sono consapevole che il rebasing è pericoloso dopo aver spinto.
OTOH, vedo il punto di provare a impacchettare 5 commit in uno solo per renderlo più nitido (specialmente in un ramo di produzione), tuttavia, personalmente penso che sarebbe meglio essere in grado di vedere commit parziali per una caratteristica in cui alcuni la sperimentazione è fatta, anche se non è così elegante, ma vedere qualcosa come "Ho provato a farlo in modo X ma non è ottimale come Y dopo tutto, facendolo Z prendendo Y come base" IMHO avrebbe un buon valore per chi studia la base di codice e seguire il percorso di pensiero degli sviluppatori.
Il mio punto di vista molto ponderato (come in quello stupido, viscerale, di parte) è che ai programmatori piace rifarsi per nascondere gli errori ... e non penso che ciò vada bene per il progetto.
Quindi la mia domanda è: hai davvero trovato prezioso avere tali "commit organici" (cioè una storia non manomessa) in pratica? O, al contrario, preferisci incorrere in impegnativi ben confezionati e ignorare il processo di sperimentazione dei programmatori ?; qualunque tu abbia scelto, perché funziona per te? (avere altri membri del team per conservare la storia o, in alternativa, riprogrammarla).
1 per analisi DVCS di Google , in Mercurial "History is Sacred".