Foros del Web » Programando para Internet » GIT »

No logro entender el workflow de Git...

Estas en el tema de No logro entender el workflow de Git... en el foro de GIT en Foros del Web. Estoy empezando un nuevo proyecto web usando el framework Symfony y quiero hacerlo con el controlador de versiones Git. En mi trabajo siempre hemos usado ...
  #1 (permalink)  
Antiguo 13/05/2013, 09:51
 
Fecha de Ingreso: noviembre-2010
Mensajes: 113
Antigüedad: 13 años, 5 meses
Puntos: 10
No logro entender el workflow de Git...

Estoy empezando un nuevo proyecto web usando el framework Symfony y quiero hacerlo con el controlador de versiones Git.
En mi trabajo siempre hemos usado FTP con los peligros que eso supone (chafar el trabajo de otro, sobreescribir el archivo equivocado, etc...) así que quiero que empecemos a hacerlo bien, pero una vez entendido en gran parte el funcionamiento de Git me surgen muchas dudas en cuando a la forma de trabajar con él.
Segun entiendo:

1. Instalo Git en el servidor y en mi máquina local.
2. En el servidor creo un sito nuevo (/var/www/proyectonuevo p.ej.).
3. En mi caso, hago un git clone de symfony para descargarlo, en su defecto, crearía los archivos necesarios para el sitio.
4. Inicializo el proyecto con git init, y hago el primer commit (git add . y git commit -m "primer commit")
5. En mi máquina local, hago git clone ssh://[email protected]........... para descargarme todos los archivos del proyecto.
6. A medida que voy trabajando en local, voy haciendo commits en local y subiéndolos al servidor con git push.

Mis dudas son:

-Debo tener una copia exacta en local para ir trabajando y subir los cambios cuando en mi pc estén bien (con FTP iba subiendo y probando, subiendo y probando), eso supone algun inconveniente, como URLS totalmente distintas (http://dominio.com en el servidor y http://localhost/proyecto en local)

-La base de datos, no debo tenerla en local, debo tener una copia de desarrollo online para que todos los desarrolladores accedamos a los mismos datos mientras trabajamos, eso puede provocar que si algun desarrollador va toqueteando opciones que se guardan en la BDD para hacer su trabajo afecte a los demás...

Tengo mas dudas, pero me estoy haciendo un lío y será mejor que las postee poco a poco jejeje.

Espero que podais echarme una mano, para que dentro de unos meses al leer esto me ría viendo lo perdido que estava
  #2 (permalink)  
Antiguo 13/05/2013, 13:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No logro entender el workflow de Git...

Lo que dices en el título "No logro entender el workflow de Git..." no tiene nada que ver con tu problema en realidad, lo que no tienes claro es el workflow en cuanto a una aplicación con PHP refiere, ya que git agnóstico en cuando a la implementación de tu proyecto.

Debes tener en mente dos ambientes como mínimo, el de desarrollo y el de producción, con esto ya deberías tener bien definidos ambos contextos. En tu caso, debes leer la documentación de Symfony para que aprendas a gestionar estas opciones.

Evidentemente no debes compartir la misma configuración de producción en desarrollo, los temas de enlaces y demás bases de datos los provee el mismo framework que estés empleando, en caso de hacer todo a mano debes tener en consideración el ambiente correcto.

A mi punto de vista no necesitas git remotamente, a menos que quieras trabajarlo en toda su expresión, con hooks y demás artilugios. Yo prefiero gestionar todo localmente y únicamente sincronizar usando RSync, pero claro ese es mi workflow.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 14/05/2013, 02:49
 
Fecha de Ingreso: noviembre-2010
Mensajes: 113
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: No logro entender el workflow de Git...

Gracias de nuevo pateketrueke

Tienes toda la razón en cuanto a las diferentes configuraciones segun el entorno en el que estemos, está claro que necesito pegarle un repaso al manual de Symfony que ya casi no me acuerdo de nada jeje.

Cita:
Iniciado por pateketrueke Ver Mensaje
A mi punto de vista no necesitas git remotamente, a menos que quieras trabajarlo en toda su expresión, con hooks y demás artilugios. Yo prefiero gestionar todo localmente y únicamente sincronizar usando RSync, pero claro ese es mi workflow.
Si tengo un proyecto en el que trabajamos varias personas, no es mejor tenerlo en un servidor y que cada uno clone el proyecto en local?
Por ejemplo, tanto el diseñador como yo (programador) hacemos las tareas de maquetación, así que comunmente nos pisamos entre nosotros sobreescribiendo archivos CSS y archivos de vistas.
Si uso git solo en local, no evitaremos esto, verdad?
Si lo uso en un servidor externo, creo que tengo dos opciones:
1. crear un directorio (/opt/git, por ejemplo, como proponen en la documentación de Git) y albergar ahí todos los repositorios, pero sin carpetas de trabajo (git clone --bare) y cada X tiempo actualizar mi repositorio local para tener todos los archivos actualizados y subirlos a la carpeta correspondiente de apache usando FTP, rSync o lo que prefiera.
2. Crear el proyecto en la carpeta de apache, hacer un git init, git add y git commit, en mi máquina local clonarlo e ir haciendo pushes directamente a la rama master (o en alguna branch, si la modificación es grande y luego unirla) a medida que vaya acabando mis modificaciones.

Voy encaminado o no he entendido nada?
Gracias!
  #4 (permalink)  
Antiguo 14/05/2013, 09:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No logro entender el workflow de Git...

Si es bueno tener un servidor para llevar el control del proyecto, pero no es necesario en el ambiente de producción, a eso me refiero.

En dado caso puedes usar el mismo servidor remoto para ambas situaciones, para llevar el control de versiones mientras el equipo desarrolla en conjunto y usar RSync al recibir un push de master para actualizar el estado de producción, etc.

Lo único en lo que si no estoy de acuerdo es en gestionar los proyectos Git en la carpeta pública de Apache, son contextos diferente ya que aún siendo entorno de producción no es cómo dejar MBs de información que no deberían ser públicas en una ubicación pública.

Prefiero lo de /opt/git para el código en si, y /var/www para deployment no más.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 14/05/2013, 10:19
 
Fecha de Ingreso: noviembre-2010
Mensajes: 113
Antigüedad: 13 años, 5 meses
Puntos: 10
Respuesta: No logro entender el workflow de Git...

Cita:
Iniciado por pateketrueke Ver Mensaje
Si es bueno tener un servidor para llevar el control del proyecto, pero no es necesario en el ambiente de producción, a eso me refiero.

En dado caso puedes usar el mismo servidor remoto para ambas situaciones, para llevar el control de versiones mientras el equipo desarrolla en conjunto y usar RSync al recibir un push de master para actualizar el estado de producción, etc.

Lo único en lo que si no estoy de acuerdo es en gestionar los proyectos Git en la carpeta pública de Apache, son contextos diferente ya que aún siendo entorno de producción no es cómo dejar MBs de información que no deberían ser públicas en una ubicación pública.

Prefiero lo de /opt/git para el código en si, y /var/www para deployment no más.
Muchas gracias, parece que voy viendo la luz al final del tunel

Tendré que echarle un vistazo a rSync ;)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:30.