Mini manual de Git

Nunca se sabe cuando te vas a ver en la tesitura de desarrollar software. Lo digo yo, que mis habilidades como programador son cercanas a cero y que sin embargo estoy embarcado en un proyecto de desarrollo de software que espero que termine siendo un bombazo. Ya os contaré.

La cuestión es que estamos trabajando dos personas: Jose que lleva el grueso del desarrollo y yo mismo que me dedico a proporcionar la infraestructura, traducir y retocar alguna cosilla. Para poder trabajar he montado un servidor con Ubuntu Server 12.04 en un viejo equipo casero que suministra el soporte de pruebas para nuestro desarrollo y al que nos conectamos por medio de no-ip . Hasta aquí todo sencillo, pero ahora apareció el problema de trabajar varias personas en el mismo proyecto y tener que llevar un control de versiones que evitara incoherencias.

De entre todas las posibilidades y dado que costales me dijo que estaba dispuesto a echarme una mano, me decidí por Git.

Os evito el rollo de lo bueno y bonito que es Git, que lo desarrolló el mítico Linus Torvalds y bla, bla, bla, para ir al grano.

Según mi experiencia estas son las cosas mínimas que hay que saber para montar un repositorio Git en un servidor Ubuntu y poder usarlo desde dos repositorios remotos de trabajo con dos usuarios.

Nota: no pongo los sudo que hay que usar, pero lógicamente tendremos que ser superusuarios en muchas de las fases

Del lado del servidor:

Instalar Git:

apt-get install

git apt-get install git-core

Después creo el grupo developers

groupadd developers

y añado los dos usuarios que lo van a usar

useradd -G developers -d /home/user1 -m -s /bin/bash user1

useradd -G developers -d /home/user2 -m -s /bin/bash user2

Y les asigno contraseña

passwd user1

passwd user2

Creo un directorio donde hacer el repositorio. En mi caso en /var/www/

mkdir -p /var/www/repo/prueba.git

Me posiciono en el repositorio y lo inicio

git init --bare --shared=group

y les doy permisos al grupo developer

chgrp -R developers . #Ojito al punto final que es importante

y creo un vínculo simbólico para cada uno de ellos a su home

ln -s /var/www/repo/prueba.git /home/user1

ln -s /var/www/repo/prueba.git /home/user2

Y coloríncolorado, en el lado del servidor ya está todo resuelto. Ahora vamos al lado de los clientes user1, que es quién tenía el proyecto en marcha y user2 que es quien se sumaba al proyecto. En ambos casos se trata de máquinas con Ubuntu 12.04 y la instalación se hace como siempre

apt-get install git

En el user1 me posiciono en el directorio donde están los archivos que son el proyecto de desarrollo y clono el repositorio del servidor

git clone user1@la_ip_de_mi_servidor:prueba.git

Incluyo todos los archivos del proyecto en el repositorio

git add *

Ejecuto los cambios

git commit -m "primera ejecución"

y los subo al servidor

git push origin master

En el user2 lo que necesito es clonar el repositorio

git clone user2@la_ip_de_mi_servidor:prueba.git

y TACHÁN ya tengo un servidor con un repositorio que controla mi proyecto y dos usuarios que lo usan y están coordinados. Ahora solo me falta definir una sencilla dinámica de trabajo:

Cada día que empezamos a trabajar nos bajamos la última situación del repositorio

git pull la_ip_de_mi_servidor:prueba.git

Trabajo con mi proyecto y cuando termino el trabajo añado los archivos nuevos y cambios

git add *

Ejecuto las modificaciones

git commit -m "mensaje que describe los cambios realizados"

y lo subo todo al servidor

git push origin master

La herramienta es más poderosa de lo que este minimanual describe, pero este puede ser un sencillo comienzo a Git, luego la curiosidad y las necesidades deben hacer el resto.

 

Fuente: pacoaldia | ubuntu-españa

¿Quién está en línea?

Hay 7801 invitados y ningún miembro en línea