2011-02-07 7 views
7

Soy un diseñador que busca aliviar el dolor de administrar el desarrollo de mis sitios web. Recientemente descubrí a Git y hasta ahora ha sido muy fácil de aprender. Desde mi entendimiento, es posible usar Git como una forma de implementar estos cambios usando dos o más repositorios; uno de los cuales es el maestro. Estoy específicamente interesado en tener un entorno de desarrollo, un entorno de prueba y un sitio de producción.Asesoramiento para usar Git para administrar el desarrollo de sitios web?

así que tengo un par de preguntas:

¿Es aceptable el uso de Git de esta manera?

Cual es mejor; ¿almacena el repositorio principal en su máquina local y empuja los cambios al servidor de prueba y producción? ¿O es mejor almacenar el maestro en su servidor de producción y llevarlo a su máquina local para hacer cambios?

En caso afirmativo, ¿cómo lograrías uno u otro método?

Respuesta

3

Puede haber un poco de confusión aquí, así que intentaré aclarar las cosas.

Un repositorio es solo una copia de su código. Puede tener varias copias de su código (es decir, varias copias de su repositorio, por ejemplo: una en su máquina de desarrollo, una en su servidor de prueba y otra en su servidor de producción). Todo proviene del mismo código, solo podría tener cada repositorio en diferentes compromisos (un conjunto de cambios) o una rama diferente.

Mi sugerencia sería que funcione de esta manera. Usted crea un repositorio con su código haciendo en el directorio raíz del proyecto que desea versión con git.

git init 

Ahora, puede crear varias ramas de su código. Uno se llamaría "maestro" (así suele llamarse) y se usa para almacenar código de producción. Otra rama se puede llamar "desarrollo". Por lo tanto, cuando empiece a jugar con su sitio web, cambie a la rama de desarrollo en su copia local de su repositorio, realice los cambios, comprométase con esa rama y realice cambios en el repositorio en su servidor de prueba (lo que haría por lo general, manténgase establecido en la rama "desarrollo"). Probaste tu código y luego, cuando sientes que está bien, fusionas tus cambios de desarrollo a maestro y luego lo envías al repositorio del servidor de producción (que normalmente estaría en la rama "principal").

Le sugiero encarecidamente que utilice github.com, realmente podría simplificar las cosas y también ayudarle a mantener copias seguras y remotas de su código. Además, no es necesario crear servidores de git para poder enviar cambios a cada copia de tu código, pero solo tienes que actualizar tu copia de github, y luego puedes extraer los cambios de cada versión de tu código (es decir, prueba y producción) .

Todo lo que he explicado aquí podría ser un poco confuso, puede consultar un libro para comprender la diferencia entre un repositorio en sí mismo y una sucursal en un repositorio. Git es una gran opción para mantener su código organizado.Si decide ir con él, puede echar un vistazo a este sitio http://gitimmersion.com/

+0

Gracias. Ese sitio parece útil, lo leeré. Solo para aclarar, puede fusionar los cambios de una rama a otra sin tener que fusionarlos de nuevo con el maestro. – Mindthetic

+0

Sí, puede fusionar confirmaciones en cualquier otra rama de forma independiente, sin necesidad de que el maestro sea un "punto intermedio". – acadavid

+0

Genial. En su ejemplo, el repositorio principal está descentralizado de toda la configuración, es decir. no se usa como servidor de producción (o sitio en vivo). ¿Qué ventaja tiene esto? Muchas gracias. – Mindthetic

3

Es una gran idea usar Git de esta manera. Por lo que he visto, la mayoría de las personas tienen el maestro en sus máquinas locales y lo envían a un servidor de producción/prueba.

Hay una buena guía para usar Git para este propósito aquí: http://toroid.org/ams/git-website-howto

Si desea una máquina de ensayo, así, seguir los pasos descritos en 'El repositorio remoto' de nuevo en una máquina diferente y agregarlo como una remoto con un nombre diferente.

Cuestiones relacionadas