¿Cómo hacer un enfoque de ramificación para sitios múltiples?

Soy nuevo en git y quisiera saber si este enfoque de bifurcación estaría bien para lo que pretendíamos hacer.

Tendremos tres sitios

  • prod.websitename.com – sitio en vivo
  • sandbox.websitename.com – sitio de testing que puede ser utilizado por nuestros clientes
  • dev.websitename.com – sitio interno para desarrollar y probar hotfix / características antes de enviar al sitio en vivo

Lo que pretendemos hacer es tener un único repository centralizado que sirva a los tres sitios. El repository tendrá tres twigs: master, sandbox y desarrollo

y luego simplemente revisaremos la sucursal para cambiar los files y halar / presionar los cambios para cada sitio.

Para los cambios, el desarrollo se enviará a las twigs maestra y sandbox. Sandbox nunca será empujado a dominar.

¿Esta bien? Cualquier consejo es muy apreciado.

Muchas gracias.

Puede funcionar, siempre que su repository único principal sea un repository simple al que pueda enviarlo.

A partir de ahí, un enlace posterior a la recepción puede desencadenar el process de pago relevante, dependiendo de la twig que se haya enviado (consulte " Escribir un enlace de git post-receive para tratar con una twig específica ").

#!/bin/bash while read oldrev newrev refname do branch=$(git rev-parse --symbolic --abbrev-ref $refname) if [ "master" == "$branch" ]; then # Do something fi if [ "sandbox" == "$branch" ]; then # Do something fi if [ "development" == "$branch" ]; then # Do something fi done 

Para los cambios, el desarrollo se enviará a las twigs maestra y sandbox. Sandbox nunca será empujado a dominar.

Esa no es la mejor práctica: debe fusionar lo que necesita de dev para las twigs locales master y sandbox , y luego enviar esas twigs al repo remoto único.
Regularmente el rebasing dev sobre el master también es una buena idea.