tipos tag repositorio remove qué que existen etiquetas crear git production staging dev-to-production

tag - Flujo de trabajo de producción de Git/servidor de transferencia



que es un repositorio git (2)

Es mejor usar la rama principal solo para la rama Producción y desarrollo para la Etapa. Cada desarrollador debe crear una sucursal local para agregar nuevas características y luego fusionarse con la rama de desarrollo. Si eres nuevo en un git, intenta usar - http://github.com/nvie/gitflow También hay una buena imagen que describe el modelo de ramificación de git - http://nvie.com/posts/a-successful-git-branching-model/

Actualmente mi sitio web (servidor de producción) ya tiene un montón de código. Y ahora quiero comenzar a usar Git para mis proyectos y configurar un servidor de etapas para mi equipo. ¿Alguien puede darme algún consejo?

Aquí está la imagen en mi mente:

Production - Production server which already have codes ↑ Staging - New staging server, will install Trac too ↗↙ ↖↘ Developer1 Developer2 - Local development

Mi pregunta es, ¿cómo debería comenzar?

Aquí hay algunos pasos en mi mente:

  1. hacer un git init en el servidor de producción (¿esto es seguro?)
  2. clone el repositorio desde la producción al servidor intermedio
  3. los desarrolladores clone el repositorio de la puesta en escena de su máquina local
  4. push archivos al servidor de transición después de cambiar de forma definitiva
  5. cuando la puesta en escena está lista, push todo a la producción

¿Este flujo de trabajo tiene sentido, o hay alguna forma mejor de hacerlo?

¿Qué pasa si solo quiero cambiar un archivo?

¿El origen / maestro tiene algo que ver con esto en este proceso? ¿Quién es el origen? ¿Voy a terminar teniendo múltiples orígenes?

Además, ¿cuándo debería usar una branch desarrollador en este caso?


Su sugerencia se ve bien, pero no permitiría que los desarrolladores ingresen directamente al servidor intermedio. En cambio, un integrador debe revisar cuidadosamente las ramas e incorporarlas a la rama principal (o rama de desarrollo si usa el modelo de flujo git como lo sugiere bUg). * La misma persona empujaría al servidor intermedio.

* Integrador : " Una persona bastante central que actúa como integrador en un proyecto de grupo recibe los cambios realizados por otros, los revisa y los integra y publica el resultado para que otros lo usen ... "

1. haz un git init en el servidor de producción (¿es seguro?)

Sí, es seguro, pero por supuesto tiene que establecer permisos muy restrictivos en este repositorio. Probablemente comenzaré curl todo el sitio web en un disco local, si es que aún no lo tengo.

2. clonar el repositorio desde la producción al servidor intermedio

Probablemente debería tener un repositorio "central" separado tanto del servidor de producción como del servidor de transición. Ese puede ser clonado y empujado según sea necesario.

3. los desarrolladores clonan el repositorio de la puesta en escena de su máquina local

4. Empuje los archivos al servidor de transición después de terminar de cambiar

5. cuando la etapa está lista, empuja todo a la producción

Reemplaza "puesta en escena" por "central" y creo que estás bien, pero un problema mayor es cómo trabajarás con las sucursales y la fusión, como señala bUg.