¿Cómo puedo hacer una corrección de errores en el maestro e integrarlo en mi (s) twig (s) less estable (s)?

Estoy usando Git para uno de mis proyectos en este momento, y me encanta.

Sin embargo, como soy el único que trabaja en mi proyecto, los únicos commands que he estado usando son

git status git add . git commit -m 'message here' git push origin master 

He empujado el proyecto a remoto hace mucho time (I Capistrano para el deployment), y todo está funcionando muy bien.

Ahora quiero cambiar el layout del sitio, pero mantener la lógica intacta. Supongo que necesito crear una nueva twig (llamémosle nuevo newdesign ) para eso.

Lo que me pregunto, sin embargo, es esto: si estoy trabajando en la newdesign twig de newdesign , y veo un error en la twig master , ¿cómo puedo arreglar el error en el master y luego integrar esa corrección de errores en la newdesign twig de newdesign , por lo que este último se mantenga actualizado con la lógica real?

Este es un caso clásico en el que puedes aprovechar las twigs de Git. Aquí está el flujo de trabajo que debe usar.

Supongamos que ha creado una twig de develop derivada de master y ha realizado algunas confirmaciones en esa twig:

enter image description here

De repente, te das count de que necesitas corregir rápidamente un error en el master ; en lugar de trabajar directamente fuera del master , debe crear una twig de corrección de errores de corta duración para aislar la tarea de corrección de errores de su twig master :

 git checkout master git checkout -b bugfix 

enter image description here

Después de hacer una confirmación (o más) en la twig de corrección de errores para solucionar el problema,

enter image description here

debe asegurarse de que todo funcione como debería (ejecutar testings, etc.). Cuando esté satisfecho con el estado de su código en la bugfix de bugfix , bugfix en master :

 git checkout master git merge bugfix 

enter image description here

En esa etapa, puede empujar su twig master (ahora fija) a remota, y eliminar la twig de bugfix :

 git push origin master git branch -d bugfix 

Ahora, para integrar los últimos cambios en el develop master , básicamente tienes dos opciones.

  1. Merge master en develop , ejecutando:

     git checkout develop git merge master 

    enter image description here

  2. Alternativamente, rebase develop sobre el master , ejecutando:

     git checkout develop git rebase master 

    enter image description here

En cualquier caso, su twig de develop ahora contendrá la corrección de errores, y puede reanudar el trabajo en ella.

supongamos que tienes tus twigs maestra y dev.

Trabajas en desarrollo para tus nuevas características y haces tu corrección en master.

Luego, desprotege dev y merge master en dev. De esta forma, el maestro es fijo y Dev puede beneficiarse de la solución que hayas hecho Y guarda su propia historia.

Alternativamente, puede volver a crear la database dev en la parte superior de la twig. Esto le da una historia "más limpia" en el sentido de que no tiene puntos de fusión.

Vea la guía de git sobre la fusión: http://git-scm.com/docs/git-merge