Tenemos un pequeño equipo digital (3 diseñadores, 3 desarrolladores) y estamos buscando integrar Git en nuestro sistema.Git Development Strategy for Small Team
Por el momento, para la mayoría de nuestros sitios tenemos un sitio de ensayo (dev.example.com) y un sitio de producción (ejemplo.com). Nuestros desarrolladores generalmente hacen cambios de código en una versión local, mueven esos cambios al sitio de ensayo y luego, una vez aprobados, esos cambios se trasladan en vivo. Nuestros diseñadores, por otro lado, realizan pequeñas ediciones (cuando los desarrolladores están demasiado ocupados) directamente en el sitio de ensayo y luego publican en vivo una vez que se aprueban. Además, en algunos casos, no tenemos un sitio intermedio y las ediciones se envían directamente al sitio de producción.
Sé que los diferentes flujos de trabajo no son ideales, pero ¿cuál sería la mejor manera de integrar Git en este sistema actual y mantener el flujo de trabajo bastante simple (por el bien de los diseñadores)? ¿Debería estandarizarse nuestro flujo de trabajo actual antes de incorporar Git (es decir, los sitios de ensayo son obligatorios y los diseñadores deben desarrollarse localmente antes de pasar a la puesta en escena) o Git es lo suficientemente flexible como para trabajar como está?
Soy bastante nuevo en Git pero he leído que solo se debe realizar un envío a un repositorio simple. ¿Es esto necesario? Si es así, ¿podría ser este el sitio de ensayo? ¿O debería ser su propia entidad (es decir, en un servidor interno como example.local)?
¿Sería un buen flujo de trabajo sea como tal: obtiene
- usuario y se funde repositorio desnudo en el repositorio local.
- El usuario desarrolla localmente y confirma cambios en el repositorio local. empuja
- de usuario cambia al repositorio desnudo en example.local (o algo similar)
- usuario tira de cambios desde el repositorio desnudo a la organización de repositorio dev.example.com
- Una vez aprobada, el usuario tira de cambios desde el repositorio desnudo a repositorio de producción example.com
Mi único problema con este flujo de trabajo es que el repositorio desnudo parece innecesario ... ¿no? Y finalmente, entiendo lo que se registraría en el repositorio local (los cambios de los usuarios, confirmaciones, etc.), pero no estoy seguro de qué se registraría en el repositorio vacío (después de los empujes), la puesta en escena (después de la extracción)) y la producción (después del tirón); ¿Podrían rastrearse y registrarse fácilmente todos los pasos anteriores?
¡Gracias por todos los consejos/respuestas!
Debo notar que se trata de sitios de diferentes tamaños construidos en servidores LAMP. Muchos de ellos se desarrollan con Wordpress. – user527480