Git y Github

Oct 8, 2010

Hoy me gustaría hablar sobre los sistemas de control de versiones, visto que tengo que entregar proyectos en la carrera, he estado probando varios sistemas para facilitarme el manejo de los archivos y la actualización de los mismos.Para ello utilizo Git.

Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. Los sistemas de control de versiones facilitan la administración de las distintas versiones de cada producto desarrollado, así como las posibles especializaciones realizadas.

¿Por qué Git?

Mi primera vez que había escuchado hablar de git fué a mi compañero de www.gamersmafia.com Slnc que lo utilizaba en el proyecto con Ruby on Rails. la verdad es que he estado mirando otros sistemas como SVN pero he encontrado muchas más ventajas a Git frente a otros sistemas de control de versiones.

  • Trabajar fuera de línea, no tener que estár todo el tiempo conectado y subir los archivos cuando uno quiera.
  • Todas las operaciones son locales, a excepsion del rebase y del commit que se hacen en línea.
  • Descentralizado y fácil de usar, cualquier repositorio puede ser clonado de otra clonación, no es necesario el original.
  • Configuración sencilla, frente a SVN que es un poco más tediosa.
  • Todo el modelo de branching aunque al final nos branches deben mezclarse usando rebase y no merge porque SVN solo soporta una línea de tiempo.

Git ayuda bastante a la hora de programar un proyecto, creas un repositorio, añades los archivos, y creas un commit cada cierto tiempo y listo, todos los cambios seguros.

Como la documentación en español que he visto por ahí es bastante mala, voy hacer una pequeña introducción de como configurar git con un repositorio de github.

Empezando con Git

Lo primero de todo es instalar Git, para eso lo podemos bajar de este link, también se puede instalar desde Synaptic.Una vez instalado se puede probar el comando git version para ver si funciona.

Una vez que te asegures de que Git funciona es el momento de asignar variables globales para ello utilizaremos los comandos

git config --global user.name "tuusername"
git config --global user.mail "direccionmail"

Una vez hecho creamos la carpeta del proyecto y nos ponemos dentro de ella y hacemos

git init

Con este comando ya tenemos nuestro repositorio creado.Ahora lo que vamos a hacer es crearnos una cuenta en www.github.com y lo primero que tenemos que hacer es insertarle una publickey generada con nuestro ssh-keygen para poder conectarnos con el repositorio.Para ello hacemos

ssh-keygen -t rsa

y le damos todo a enter hasta que nos crea la clave.Acontinuación se va la carpeta $user/.ssh y aparece un archivo llamado id_rsa.pub, este archivo contiene la llave publica a pegar en github. Haciendo:

cat id\_rsa.pub

podemos ver nuestra clave.Una vez pegada hacemos un test.

ssh [email protected]

Ahora para añadir nuestros archivos a github hacemos:

git add archivo1 archivo2 carpeta1 carpeta2 ...

y creamos un commit.

git commit -m "importe inicial de archivos"

Y lo enviamos a github

git push origin master

Y ya está listo nuestro proyecto, para cualquier duda siempre podeis dejar algún comentario.