Developer's Diary

24 agosto, 2014

Manual rápido de GIT – Aprende a usar Git en 10 minutos

Filed under: Programación, Uncategorized — Etiquetas: , — jnavero @ 8:37 PM

En este post voy a exponer la forma más rápida de comenzar a utilizar GIT bajo Linux Ubuntu 14.04, en Windows es muy similar a excepción de la instalación.

Git es un sistema de control de versiones distribuido y muy potente. Sinceramente, en 10 minutos es imposible aprender a usarlo, pero, si podremos ver la base y aprender su funcionamiento desde línea de comandos.

Para no entretenerme más, voy al lio, espero que resulte como una pequeña guía para comenzar a usar GIT.

Instalación de GIT:
Para instalar GIT en Linux vamos a la consola y tecleamos:
apt-get install GIT
Recuerda que necesita permisos para usar el gestor de paquetes.

Una vez tenemos instalado GIT, necesitamos configurar ciertas cosas como nuestro nombre y correo electrónico, de esta forma podrán identificar la persona que ha realizado los cambios, esto se hace con los siguientes comandos:


git config --global user.name "Nombre Usuario"
git config --global user.email "correoElectronico@dominio.com"

Con esto ya tenemos configurado el mínimo necesario para comenzar a usar GIT.
Si queremos usar un servidor de repositorios como GITHUB debemos hacer un par de configuraciones adicionales (en otro post indicaré como hacerlo en muy pocos pasos).

Crear un repositorio.
Un repositorio es el contenido de un proyecto.
Para inicializar un repositorio, simplemente nos situamos en el directorio (carpeta en Windows) que queramos que sea nuestro repositorio y tecleamos el comando:

git init

Este comando inicializará nuestro repositorio (crea un directorio oculto en Linux llamado .git) con esto podemos empezar a trabajar con GIT.

Con GIT es posible clonar un repositorio para trabajar con él. Este repositorio puede estar en un ordenador, en una red local o en internet podemos clonar el repositorio con el siguiente comando:

git clone https://github.com/jnavero/IoCSpringExample

Con este comando, podrás clonar el proyecto arriba mencionado y descargarás todo el conjunto de cambios realizado en el mismo. Hay que tener en cuenta que si descargamos un proyecto muy grande, según la línea de internet que tengamos tardará mucho tiempo en descargarse.

Llegados a este punto me toca explicar un poco el ciclo de vida de GIT.

Primero, tenemos los archivos del proyecto en la carpeta de trabajo, para poder mantener estos archivos en GIT es necesario que lo metamos en el Stage.
El Stage es un área temporal en el que están los archivos con cambios pero aún no hemos realizado el commit.
Es decir, tenemos los archivos en el directorio de trabajo, realizamos las operaciones correspondientes como pueden ser:
añadir, modificar o eliminar archivos estas operaciones quedan en el Stage y después para guardar todos los cambios se realiza un commit.
Este commit lo que hace es confirmar los cambios que hemos realizado y que se encuentran en el Stage.

Los comandos a destacar aquí son los siguientes:

git add archivo #Nos sirve para añadir un archivo al Stage
git add . #Añade el directorio al Stage
#otras opciones con add puede ser -A
git add . -A #que añade todo con subcarpetas incluidas.

Con el comando:
git status
Podremos ver los cambios que hay y que podemos aceptar haciendo un commit.

Cuando hemos terminado de realizar los cambios, con el comando git add los ponemos en el Stage y pasamos a enviarlo usando el comando:

git commit -m "Comentario de texto"
#con este primer commit metemos un comentario básico de los cambios que se han realizado.
git commit
#Si escribimos esto, nos abrirá un editor de texto con todas las líneas entre almohadillas. Estas almohadillas son comentarios y GIT las ignora.

Es recomendable que la primera línea del comentario no supere los 50 caracteres ya que se trata del resumen de los cambios y podremos verlo con el log.
Además el resto de las líneas es mejor que no superen los 72 caracteres para mantener una compatibilidad y pueda verse en cualquier editor sin ningún problema.

Si seguimos viendo comandos, el próximo es para poder ver los logs que provocan los commits. Existen dos formas principalmente:

git log
#nos muestra todo el conjunto de cambios con todas las descripciones existentes. Podemos movernos con los cursores y salir con la tecla q
git log --oneline
#muestra el conjunto de cambios, un cambio por línea y solamente, muestra la descripción que es la primera línea que indicábamos que debería ser de no más 50 caracteres.

Para eliminar el fichero, eliminamos el fichero que deseemos del directorio de trabajo y usamos:

git rm ficheroABorrar

Después de la operación podemos hacer un commit y de esta forma aceptamos el cambio. Por otro lado, si lo que deseamos es mover el archivo, simplemente se mueve el archivo desde línea de comandos con mv en Linux, y con git, como no hay comando de mover, lo único que hacemos es eliminar el archivo con git rm y añadir el nuevo con git add.
GIT detecta que ese archivo ya existía y lo toma como que se ha movido de lugar.

Como siempre con git commit podemos guardar los cambios.

Que sería de nosotros si no pudiésemos volver a una versión anterior.
Para volver a una versión anterior podemos utilizar el comando

git checkout -- NombreArchivo
#esto nos retorna a la versión anterior.

Pero, si no deseamos volver a la versión anterior, si no que deseamos ver lo que sucedió hace tres versiones, viendo el log que generamos anteriormente

git log --oneline
#nos indica un código y la descripción.
#con este código podemos desplazarnos a la versión deseada de la siguiente forma:
git checkout "codigoLog"
#así podremos ver el código de esa versión concreta.

 

Para que no resulte un engorro buscando el código en el log podemos utilizar alias en cada uno de los commit para crear un alias usamos el comando siguiente:

git log --oneline
#nos indica un código y la descripción del commit
git tag "Alias" "codigoLog"
#añadimos un alias a ese código del log
git tag "Alias" "
#añadimos un alias al código que estamos usando actualmente
git tag
#nos muestra una lista de los tag que tienen nuestros commit
git checkout "Alias"
#vuelve a la versión que indica el alias indicado. Nos lleva a un estado anterior.

Por ultimo lo más importante, cuando el proyecto está alojado en un servidor podemos agregar código y traernos código de este servidor para agregar un lugar remoto usamos el comando

git remote add origin git@github.com:...
#en otro post mostraré como conectar git a github (es muy sencillo pero por motivos de espacio no lo pongo aquí).

A partir de aquí, podemos enviar o recuperar cambios del lugar remoto con los comandos:

git push origin master
#envía los cambios de origin (creado arriba) a la rama master
git pull origin master
#descarga los cambios del servidor.

Es importante obtener la última versión actualizada del repositorio para no tener problemas entre diferentes versiones del código.

Quedan pendientes muchísimos comandos, pero los básicos para comenzar creo que están aquí comentados.
Algunos de los comandos que me quedan pendientes y son importantes son:

git branch RAMA
#se crean ramas del proyecto, muy útil para hacer características, versiones u otro tipo de posibles cambios en el proyecto
git merge RAMA
#Hace un merge de la rama y crea un commit, esto puede ser un poco peligroso por los posibles conflictos
#para solucionar los conflictos debemos editar los archivos con un editor, eliminar unas marcas como <<<<<<<<< HEAD y ===========
#una vez corregido, se guarda y se envía otra vez con el commit.

Recomiendo la lectura del manual de Git en Español

Nos leemos próximamente.

Anuncios

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: