BorrowBits - ciencia y tecnología

GIT: Guia rápida

git¿Qué es GIT? Es un sistema de control de versiones, que nos va a permitir tener un control sobre el código de nuestras aplicaciones mediante revisiones, permitiendo a diferentes programadores modificar un mismo código fuente de manera que no pisemos los cambios de unos y de otros y quedando registrado todo, pudiendo volver a cualquier versión de nuestro código que deseemos en cualquier momento.Veámoslo con un ejemplo.

Lo primero por supuesto, instalémoslo:

sudo apt-get install -y git-core

Hazte un directorio de prueba:

mkdir prueba
cd prueba

En este directorio, hemos de iniciar el repositorio local y configurar el nombre de usuario y contraseña:

git init
git config --global user.name "paco"
git config --global user.email "paco2@email.com"

Cada vez que actualicemos nuestro código a una nueva versión en el repositorio, aparecerá registrado con estos datos que hemos configurado. De esta forma, cuando subamos los cambios al repositorio remoto, cada revisión del código irá registrada al nombre del programador que ha efectuado los cambios.

Puesto que ya tenemos nuestra carpeta de proyecto, con un repositorio GIT ya creado, podemos comenzar a crear los archivos de nuestro proyecto.

echo "hola mundo" >> file.txt

Ahora observemos el estado del repo:

git status

Podemos ver que nos indica que hay un archivo modificado sin añadir. ¿Qué significa esto? Cuando nosotros hacemos los cambios en un archivo, este no se queda registrado por GIT hasta que no se lo indicamos mediante comando “add”:

git add file.txt

O en el caso de que queramos añadir todos los archivos modificados de una vez:

git add *

Con “add”, GIT sabe que estos archivos están “marcados” para añadirse a la siguiente revisión a crear. Pero aun no están dentro del repositorio local. Esto lo haremos con:

git commit -m "comentario obligatorio"

Ahora si que hemos guardado en el repositorio local los cambios efectuados en los archivos que hemos marcado con el comando “add”. Fácil, ¿no?.

Ahora vamos a modificar el archivo de nuevo:

echo "hola otra vez" >> file.txt

Observemos las diferencias del archivo modificado con respecto a la versión actual del repo:

git diff file.txt

Pero en vez de añadirlo directamente vamos a ver el log de todo el repo:

git log

Podemos incluso ver las lineas modificadas en cada revisión:

git log -p --color

Todas estas operaciones las hemos realizado en el repositorio local. Para trabajar con varios programadores a la vez, lo que tenemos que hacer es crear un repositorio en un servidor remoto (por ejemplo en GitHub) y conectar nuestro repositorio local al repositorio remoto. Para esto, puedes por ejemplo crear una cuenta en GITHub y crear un repositorio en el panel de gestión de repositorios. Y luego te vas de nuevo a la carpeta de tu proyecto, y haces:

git remote add origin server/repo.git

Donde “server/repo.git” es el enlace a tu repositorio remoto que acabas de crear en GITHub y que está aun vacío.

Para subir los cambios del repositorio local al servidor remoto tienes que hacer:

git push origin master

“Origin” es el nombre que hemos dado a la rama principal del repositorio remoto (mira el comando de conectar el repositorio local con el remoto). Y “master” es el nombre por defecto de la rama principal del repositorio local.

¿Para que sirven las ramas?

Cuando creamos una rama estamos creando una versión paralela de desarrollo. Es decir, si creamos la rama “secundaria2” para desarrollar una funcionalidad concreta, y hacemos cambios en dicha rama, la rama del “master” quedará intacta. Al finalizar el desarrollo de dicha funcionalidad, podemos fusionar la rama “secundaria2” con la rama principal (“master”). De esta manera, siempre iremos sobre seguro y podremos tocar todo el código sin miedo provocar un error del cual no sepamos como salir.

Cuando subimos o bajamos revisiones entre los repositorios “remoto” y “local”, lo haremos en el contexto de las ramas principales de ambos repositorios (aunque podemos indicar otras ramas).

Antes de terminar, es necesario que sepáis como actualizar el repositorio local al commit mas nuevo (en el repositorio remoto), algo que será necesario cuando otro programador de nuestro proyecto haya subido cambios al repositorio remoto:

git pull

He dejado algunas cosas sin terminar de explicar, y puede que algunas cosas no te hayan quedado del todo claras. En concreto, las ramas, y otras cosas mas avanzadas, te las comentaré en otro artículo. Con esto que te acabo de contar, tienes mas que suficiente para empezar a familiarizarte con esta potente herramienta. Pero, por favor, si hay algo que no te queda claro, si has entendido un poco, o nada, y aun así, te interesa, déjame un comentario con tu duda.

Muchas gracias, y hasta el próximo artículo.

plfgavilan

Ingeniero de telecomunicaciones con casi 4 años de experiencia en la ingeniería de software. Forma parte del proyecto Borrowbits desde hace varios años, donde colabora como escritor.

Escribir un comentario

Suscríbete

¡Sácale el máximo partido a BBits!

Introduce tu dirección de correo electrónico para seguir este Blog y recibir por email las nuevas publicaciones, si has leído y aceptas las Políticas de Privacidad, Cookies y Aviso Legal.

Recíbelo gratis al suscribirte

Webs amigas

  • Frikilogia.- Blog Multi-Tematico orientado a todos los campos del frikismo.
  • Meridiem90.tv.- Mira la TV gratis en HD. Canal Plus y Gol TV, todo el futbol desde tu navegador.
  • JITKey.- Startup enfocada en la gestión de alojamientos turísticos.

Bits del pasado

Síguenos en FB