Lo uso para el mantenimiento crítico del sitio web. Soy el único desarrollador pero tengo un master, desarrollar y emitir sucursales.
Mi proceso de trabajo para la configuración del sitio se ve así:
Hacer la rama maestra viable. Hacer commit inicial.
Pagar desarrollar sucursal. No haga nada, desarrolle funciones como un búfer de prueba para fusionarse con el maestro.
Sucursal del problema de pago. Codifique su problema, cuando esté listo, póngalo en desarrollo, vea si surge algún problema, combine conflictos, etc.
Cuando se fusionan suficientes problemas en el desarrollo para una versión y se ha probado la estabilidad del desarrollo, coloque el desarrollo en maestro.
Master
|
Develop - E
/ | \ \
A B C D
De esta forma, obtienes una colección completa de pruebas en desarrollo, donde puedes probar la estabilidad, los problemas, etc. sin tener que arriesgarte a dañar a Master y tener que revertir los commits si son perjudiciales.
Además, al usar ramas individuales para comprometerse, puede "dejar" el trabajo que ya hizo, comenzar de nuevo en otra cosa para solucionar un problema más urgente y desplegarlo antes.
En la vida real, por lo general, tengo una rama de problema, y la desarrollo y luego la convierto en maestra. A veces es tedioso, pero una vez cada dos meses al menos tengo que dejar el trabajo de inmediato porque alguien tenía la idea de que tenía que hacer RightNow ™ y de esa manera puedo volver rápidamente a un estado base, hacer que la cosa y luego continuar donde estaba. Especialmente con proyectos grandes que toman varias semanas, es una bendición que pueda cambiar rápidamente de sucursal.
Considere este escenario: Siempre se trabaja en una rama principal y que tiene AwesomeCodeThing ™ en las obras que sale de su rama principal en la cirugía a corazón abierto y una YugeBug ™ aparece que necesita fijación urgente de lo contrario miles de usuarios se quejan a usted acerca de BigProblems ™
El única forma de resolver rápidamente su problema en tal escenario,
- verifica tus confirmaciones anteriores,
- ver cuándo fue su última confirmación estable (la maldición es opcional)
- volver a ese compromiso
- hacer arreglos, enviar arreglos a producción
- resuelva todos los conflictos y problemas que tiene ahora tratando de volver al estado AwesomeCodeThing ™
- renunciar, llorar y comenzar a trabajar nuevamente (opcional)
Si usa ramas:
- Maestro de caja
- crear rama UrgentFix ™ y arreglar cosas
- empuje UrgentFix ™ al maestro
- empujar a la producción
- Fusionar maestro en desarrollo
- La fusión se convierte en AwesomeCodeThing ™
- tomar una cerveza y seguir trabajando.