2009-09-23 14 views
5

Estoy buscando sugerencias sobre cómo estructurar proyectos usando repositorios y sucursales git.Buscando una sugerencia para un repositorio de sitio web git/estructura de sucursal

Supongamos que quiero un repositorio remoto, y mi proyecto es un sitio web que utiliza un widget Flash. El widget Flash se compila a partir del código fuente que he escrito.

Para implementar mi sitio web, me gustaría que el servidor de producción sea otro cliente git que extraiga del repositorio remoto, pero no quiero que el código fuente del widget Flash esté en la copia de trabajo de mi servidor de producción.

Podría hacer esto teniendo una rama "principal" que contenga src/y www/y una rama "www" que solo tenga "www /". Pero entonces mi equipo de desarrollo necesita recordar registrar los cambios relacionados con el sitio web en la rama www, y el código fuente de Flash cambia a maestro.

Dos preguntas: ¿cómo se compara esta solución con sus propios proyectos? Y, ¿ha encontrado que en sus equipos sus desarrolladores tienen dificultades para realizar un seguimiento de las sucursales, y accidentalmente cometer y empujar los cambios que deberían estar en una rama en otra?

Respuesta

4

Mi preferencia personal es y no para mantener una copia del repositorio de Git en el servidor de producción. Para implementar mi sitio web, utilizo un script de despliegue que usa git archive para escupir una copia "sin Git" del repositorio, que luego se copia en el servidor de producción a través de SCP. Yo uso Python Fabric para este propósito, pero también se podría usar Ruby's Rake, o algo completamente diferente.

Desplegar es muy fácil: solo ejecuto un comando y todo se copia y configura en el servidor de producción.

+1

Estoy de acuerdo con no sacar directamente del repositorio. Use una máquina de compilación/implementación en alguna parte para sincronizar el código, ejecutar cualquier elemento de compilación requerido, empaquetarlo y entregarlo a producción. –

+0

Eso suena como una buena idea y algo a considerar. Pero aún estaría archivando los directorios src/y www/en mi repositorio. ¿Tiene repos por separado para src y www y el submódulo git uno en el otro para desarrollo, o usa ramas? –

+0

No tengo el código fuente de Flash, por lo que mi situación no es exactamente la misma que la tuya. El uso de submódulos suena como una buena solución, o puede modificar su secuencia de comandos de implementación para ignorar los archivos que no desea enviar al servidor de producción. – mipadi

Cuestiones relacionadas