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:
- hacer un
git init
en el servidor de producción (¿esto es seguro?) -
clone
el repositorio desde la producción al servidor intermedio - los desarrolladores
clone
el repositorio de la puesta en escena de su máquina local -
push
archivos al servidor de transición después de cambiar de forma definitiva - 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.
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.