Siempre he estado de acuerdo con el mantra 1 de Mercurial , sin embargo, ahora que Mercurial viene incluido con la extensión de rebase y es una práctica popular en git, me pregunto si realmente podría considerarse como una "mala práctica", o al menos lo suficientemente malo como para evitar usarlo. En cualquier caso, soy consciente de que rebase es peligroso después de empujar.
OTOH, veo el punto de tratar de agrupar 5 commits en uno solo para que parezca más ágil (especialmente en una rama de producción), sin embargo, personalmente creo que sería mejor poder ver commits parciales en una característica donde algunos la experimentación se realiza, incluso si no es tan ingeniosa, pero ver algo como "Intenté hacerlo de la manera X, pero no es tan óptimo como Y, después de todo, hacerlo Z tomando Y como base" en mi humilde opinión tendría un buen valor para aquellos que estudian la base de código y seguir el tren de pensamiento de los desarrolladores.
Mi punto de vista muy obstinado (como tonto, visceral, parcial) es que a los programadores les gusta rebase para ocultar errores ... y no creo que esto sea bueno para el proyecto en absoluto.
Entonces, mi pregunta es: ¿realmente ha encontrado valioso tener tales "compromisos orgánicos" (es decir, historia sin restricciones) en la práctica? O, por el contrario, ¿prefiere encontrarse con compromisos ingeniosos y bien empaquetados y no tener en cuenta el proceso de experimentación de los programadores ?; cualquiera que elijas, ¿por qué te funciona eso? (tener otros miembros del equipo para mantener el historial o, alternativamente, cambiarlo).
1 por análisis de Google DVCS , en Mercurial "La historia es sagrada".