¿Es una buena idea exigir que se confirme solo el código de trabajo?
Este commit no necesita dejar el repositorio en un estado de trabajo como:
- ... estamos en las primeras etapas de diseño, el código aún no es estable.
- ... usted es el único desarrollador del proyecto. Ya sabes por qué las cosas no funcionan. Además, no está deteniendo el trabajo de nadie al cometer un código roto.
- ... el código actualmente no funciona. Vamos a hacer un gran cambio. Vamos a comprometernos, para tener un punto al que volver si las cosas se ponen feas.
... la cadena es larga, no hay problema si existe un código roto en la rama local. Es decir
- archivos locales
- área de ensayo
- se compromete en la sucursal local
- se compromete en la rama de características personales remotas
- fusionar con
develop
rama remota - fusionar con
master
rama remota - fusionar con
release
rama remota
... comprometerse temprano, comprometerse a menudo.
Entonces, en la pregunta vinculada anteriormente, la mayoría de las respuestas dicen que cometer código no compilable no es un problema en las ramas locales y de características. ¿Por qué? ¿Cuál es el valor de un commit roto?
Agregado: hay un par de comentarios muy votados que dicen que en un grupo local se puede hacer lo que se quiera. Sin embargo, no estoy interesado en el aspecto técnico de la pregunta. Más bien, me gustaría aprender las mejores prácticas: los hábitos que las personas que han trabajado durante muchos años en la industria son los más productivos.
¡Estoy sorprendido por la gran cantidad de excelentes respuestas! Me llevan a la conclusión de que no soy lo suficientemente hábil para usar ramas para organizar mi código.