Depende de la naturaleza de la rama ("línea de desarrollo") que se está trabajando.
La principal ventaja con esos DVCS (GIT o mercuriales) es la facilidad puede:
Así:
1/¿Con qué frecuencia y cuando te comprometes?
2/¿Solo compromete cambios cuando se compilan correctamente?
Tanto tiempo como sea necesario en una rama privada (por ejemplo, si se compila).
La práctica de solo confirmar si las pruebas unitarias pasan es buena, pero solo debe aplicarse a una rama "oficial" (como en "podría ser publicada o 'empujada'"): en su sucursal privada, fusiona un gazillon veces si lo necesitas.
Lo único que hay que hacer es fusionar: interactivo para reorganizar los muchos commits en su sucursal privada, antes de reproducirlos en su rama de desarrollo principal, donde puede pasar algunas pruebas.
3/¿Con qué frecuencia y cuándo se realizan los cambios (o se presenta una solicitud de extracción o similar)?
La publicación es otra cuestión y debe hacerse con un historial "claro" (fusiones coherentes, que representan un contenido que compila y pasa algunas pruebas).
La rama que publica debe ser una donde el historial nunca se reescribe, siempre se actualiza.
El ritmo de las publicaciones depende de la naturaleza de la rama remota y de la población que tira de esa rama. Por ejemplo, si es para otro equipo, puede presionar con bastante frecuencia. Si es para un equipo de prueba de integración de todo el sistema, empujará mucho menos a menudo.
4/¿Cómo enfoca el desarrollo de una función compleja/haciendo una compleja refactorización que requiere muchos lugares para tocar? ¿Los "commits privados" no se compilarán bien?Cuando haya terminado, ¿los envía también al repositorio principal o agrupa todos los cambios en un solo conjunto de cambios antes de presionar?
Ver 1. y 2 .: aplicar el parche primero en su propia rama privada, luego reorganizar sus confirmaciones en una rama de parche oficial (publicada). Una única confirmación no siempre es la mejor opción si el parche implica varias "actividades" diferentes (o corrección de errores).
+1 ¡finalmente encuentra el más adecuado para empujarlo al límite! Ahora ve a hacer algo útil con tu tiempo: P –
@Ruben: Me parece gracioso que hayas escrito eso a la 1:30 a.m.: -O –
De hecho: P ¡Nunca harías algo así de loco! Este y el otro comentario estallarán en votaciones (otra cosa más que hace mi robot SO) –