git repository para organizar el sitio en vivo

Solo estoy aprendiendo git y sus fundamentos básicos. Tengo una tienda en vivo de Magento ejecutándose y necesito controlar la versión lo antes posible. Me han cargado git en mi máquina de trabajo y he jugado con la configuration de repositorys, agregando, confirmando y cargando files. He probado mi configuration con Assembla y una count gratuita (por ahora) y todo está bien.

Todavía tengo problemas para hacer los cambios físicos. Quiero lograr lo siguiente (¡creo!):

  1. Se necesitan files de pago desde el sitio en vivo para trabajar en la máquina local
  2. Haga cambios localmente desde Dreamweaver (estoy usando GITweaver y me comunico fácilmente con mi repository) (Además, no me opongo a cambiar los editores de text / IDE si hay una solución mejor)
  3. Empuje el repository al sitio "de testing" para su revisión y testing con mi compañero. Aquí es donde actualmente estoy perdido. ¿Cuál es el process de enviar un repository a un sitio en vivo?
  4. Después de la revisión y los cambios son aceptados, envíe el repo al sitio 'en vivo'.

Entonces hay varias preguntas importantes con las que necesito ayuda aquí.

  • ¿Paga los files de un sitio en vivo o de un escenario? ¿Hay algún método preferido?
  • ¿Se supone que un escenario debe reflejar un sitio en vivo todo el time?
  • ¿Cuál es el propósito de un sitio "desarrollador" y un sitio "etapa"? ¿No son lo mismo?
  • ¿Qué hace la mayoría de las personas en las configuraciones y por qué? Necesito una buena explicación de la etapa vs dev.

Algunos antecedentes útiles para nuestra tienda / proyecto:

  • Soy el único desarrollador y probablemente sigo siendo el único desarrollador por algún time
  • Estoy usando una máquina con Windows para desarrollar y nuestro alojamiento es a través de HostGator
  • Mi compañero solo necesitará ver el sitio del escenario para que podamos ver los cambios juntos, no tiene necesidad de ver el repository nunca.

Me encantaría que alguien pudiera señalar un tutorial guiado o similar para personas como yo que hicieron todo al revés y ahora no tienen time para aprender git un paso a la vez.

¿Cuál es el process de enviar un repository a un sitio en vivo?

Git no tiene una function para esto incorporada. Querrá escribir un guión que periódicamente (por ejemplo, cada cinco minutos) o a petición extraiga alguna twig de su repository central. (Supongo que tienes un server Git en alguna parte que funciona como tal).

Puede hacer lo mismo para el entorno de producción, haciendo que el server de transferencia extraiga, digamos, master y que el server de producción extraiga la production la sucursal.

@larsmans tiene algunos consejos bastante sólidos para ti: pensé que cubriría tus otros puntos para tratar de ayudarte.

Piense en su server de desarrollo como donde usted (y posiblemente otros desarrolladores) hacen, testingn y finalizan los cambios. Piense en el server de stage como donde muestra cambios potenciales a otras partes interesadas antes de ir al sitio de production o en vivo.

Yo personalmente uso una twig para cada server (incluso especificamos máquinas locales como serveres alpha antes de que incluso vayan a desarrollo / staging ), y las consideramos jerárquicamente:

  1. pinchar
  2. escenario
  3. dev
  4. alfa

Los cambios comienzan en alpha y se fusionan hacia arriba, por lo que una corrección de error que se inicia en alpha se fusiona o se cherry-picked en forma dev en dev , se comtesting, luego se empuja hacia arriba hasta el stage y, finalmente, a prod . Para actualizar, las twigs simplemente se pulled y sincronizan de esa manera. Cada server tiene una copy del repository, dando networkingundancia extra en el caso de cualquier problema.

Tenemos nuestro propio repository git usando gitolite , que (facilmente) hemos personalizado para manejar las tareas de pull y pull descritas en las respuestas de @ larsman. Desafortunadamente, como usted está en un host compartido, esta podría no ser la solución ideal para usted. . De cualquier forma, deberías considerar ejecutar un VPS, ya que Magento consume muchos resources y los times de carga son muy difíciles. Este es un consejo de primera mano de alguien que ha intentado hacer que Magento funcione en HostGator.