Cómo revisar en código múltiples commits de git sin usar twigs de características

En mi equipo hacemos una continuous integration y, por lo tanto, tratamos de evitar las sucursales. En cambio, cometemos / presionamos para dominar tan a menudo como sea posible. Eso significa, por ejemplo, que me he comprometido 10 veces y entre mis universidades también me he comprometido varias veces, probablemente incluyendo cambios que podrían crear conflictos al intentar revertir mis propios commits.

Esto hace que sea más difícil hacer revisiones de código después de haber presionado todas mis confirmaciones porque no veo una manera de ver todos los cambios en el código fuente que hice a través de mis commits.

¿Cuáles son las forms de hacer revisiones de código cómodas después de haber empujado mis compromisos?

En mi equipo hacemos una continuous integration y, por lo tanto, tratamos de evitar las sucursales. En cambio, cometemos / presionamos para dominar tan a menudo como sea posible.

Ese es un enfoque muy malo, realmente no te animo a que sigas trabajando directamente en master. Las sucursales están destinadas a ser utilizadas exactamente en tales casos: muchos progtwigdores están trabajando en el mismo proyecto.

Dependiendo del service de hospedaje de git que esté utilizando, le sugiero que trabaje en diferentes sucursales y cree requestes de extracción, allí puede hacer tantas revisiones como desee.

No estoy seguro de por qué crees que la Integración Continua te impide hacer twigs de características, pero si el software que estás utilizando es un aspecto del software de CI (aparentemente malo?) Que estás utilizando, no CI en general. Los beneficios de un DVCS como git es que permite que las personas tengan bifurcaciones que se ramifican y fusionan de forma trivial. Si lo descarta y lo usa como un VCS centralizado que todo el mundo confía directamente a una sucursal, no culpe a la continuous integration por ello.

Como no dice lo que está utilizando para la revisión del código y la continuous integration y está usando git, supongo que está utilizando algo como GitHub para la revisión del código y Travis CI para la continuous integration, ya que esos son los más popular y con lo que estoy más familiarizado Un flujo de trabajo apropiado en esa situación es que Travis genere requestes de extracción, y todos en el equipo envían requestes de extracción desde sus twigs de características. Esto da como resultado que las testings se aíslen por características y hace que sea obvio qué característica causa una falla (y más importante aún, ¡las atrapa antes de que llegue al maestro!). Hace que sea más fácil diferenciar una twig con herramientas estándar como git diff , ya que no necesita adivinar qué confirmaciones está revisando. También puede configurar Travis (o cualquier punto medio para decidir el sistema CI) para build la twig después de la fusión.

Cualquier software de CI ampliamente utilizado debe soportar un flujo de trabajo similar, o no es realmente adecuado para ser usado con git , en mi opinión.