Evelb

Uso básico de git con eclipse

Uso básico de git con eclipse
Fernando Barragán
Desarrollador Software e iOS
«El trunk no espera por nadie.»
Post más relevante: Uso básico del GIT con Eclipse

¿Qué es GIT?

GIT es un software de control de versiones distribuido, que nos ofrece mayor versatilidad al tradicional software de control de versiones centralizado, como SVN.

Centralizado VS Distribuido

El software de control de versiones centralizado, únicamente tiene un servidor centralizado, donde se aloja el código. Todos los clientes trabajan sobre ese servidor de manera que si el servidor está caído, no es posible trabajar con el control de versiones.

En este tipo de software, además de haber un servidor centralizado contra el que trabajan todos los clientes, cada uno tiene un servidor local, de manera que si el servidor centralizado falla, se puede seguir haciendo uso del control de versiones normalmente hasta que se restablezca.

GIT y ECLIPSE

Para ilustrar este ejemplo tomamos de base el ECLIPSE NEON. La versión para desarrolladores Java ya incluye el plugin de GIT por defecto, no obstante, si no lo tuviésemos instalado es tan sencillo como acceder al marketplace de ECLIPSE e instalarlo.

Conceptos Básicos de GIT

Para acceder a todas las opciones de GIT desde Eclipse debemos pulsar el botón derecho del ratón sobre el proyecto o un archivo del mismo y acceder al elemento «TEAM», y aquí encontraremos todas las opciones para trabajar con GIT.

 

imagen1

 

Para sincronizar por primera vez un proyecto con un repositorio GIT tenemos dos posibilidades:

Que estemos creando el repositorio por primera vez:
En este caso debemos pulsar sobre «SHARE PROYECT» y seguir los pasos indicados en pantalla.
Que queramos importar un proyecto ya existente en un repositorio GIT:
En este caso debemos acceder en el ECLIPSE al menu File -> Import -> Projects from Git.
Cuando importamos un proyecto GIT a nuestro workspace es importante marcar siempre la opción «CLONE URI» para que, además de importar el proyecto, nos genere un repositorio GIT local para ese proyecto.

Una vez realizado uno de estos pasos veremos que el menú «TEAM» estará mucho más poblado permitiéndonos realizar todas las operaciones propias de cualquier software de control de versiones.

Un repositorio GIT se compone de los siguientes elementos:

  • Rama Master: Aquí se encuentra la rama principal del proyecto.
  • Branches: Aquí se encuentran las ramas del proyecto, por ejemplo, cuando varias personas están realizando distintas modificaciones, se crearía un branch por cada funcionalidad y cuando estuviesen listos esos desarrollos en los branch, se reintegrarían a la rama master.
  • Tags: Son «fotografías» en un instante de tiempo de la rama master o de algún branch. No debemos trabajar nunca contra los tags. Si necesitásemos hacer alguna modificación sobre algún tag se debe crear un branch a partir del tag y posteriormente crear un nuevo tag. Estas modificaciones además deberíamos incluirlas sobre el master para conseguir una integración continua.

Para movernos entre los elementos del repositorio antes mencionados debemos utilizar «SWITCH TO».

Hay tres operaciones básicas que podemos realizar con GIT:

  • Pull: Cuando hacemos pull de un proyecto, nos traemos todos los cambios existentes en el repositorio central a nuestro repositorio local.
  • Commit: Con esta operación llevamos los cambios de nuestro workspace al repositorio GIT local.
  • Push: Con esta operación llevamos los cambios de nuestro repositorio GIT local al repositorio GIT central.

¿Cómo trabajar con GIT?

Antes de empezar a trabajar siempre haremos un pull del proyecto para traernos todas las novedades del repositorio central.

El uso habitual de GIT una vez tenemos sincronizado un proyecto es el siguiente:

Antes de empezar a trabajar siempre haremos un pull del proyecto para traernos todas las novedades del repositorio central.
Cuando vayamos realizando modificaciones realizaremos commits sobre nuestro repositorio local.
Una vez terminado un bloque de desarrollo realizaremos un push sobre el repositorio central (también podemos hacer el push y el commit al mismo tiempo).

¿Qué hacer en caso de conflictos?

Si tenemos algún conflicto a la hora de realizar algún push, los pasos que debemos hacer son los siguientes:

  • Hacer un commit de nuestros cambios a nuestro repositorio local.
  • Hacer un pull de las novedades en el repositorio central. (La mayoría de las veces GIT ya va a saber mergear las novedades del repositorio central con las de tu repositorio local y solucionará el problema).
  • Hacer un push al repositorio central con «PUSH TO UPSTREAM«.

Si queremos mergear (fusionar dos desarrollos) una rama contra otra, por ejemplo, reintegrar un branch con un nuevo desarrollo en el master, debemos hacer lo siguiente:

Situarnos en el master si no lo estamos ya con «SWITCH TO».
Mergear con la opcion «MERGE» , seleccionando la rama que queremos reintegrar.

A veces ocurre que el software de control de cambios no sepa resolver alguna situación por si solo dando lugar a los conflictos, que se marcan como rombos rojos en los ficheros.

Si abrimos un fichero con conflictos las partes con conflictos se marcan de la siguiente forma:

<<<<<<<<<< Rama Origen

Código Rama Origen

===

Código Rama Destino

>>>>>>>> Rama Destino

De forma que debemos escoger si quedarnos con el código de la rama origen, destino, o hacer nosotros una mezcla.
Una vez tomada la decisión dejamos el código elegido resolviendo el conflicto.

Cuando cerremos el fichero pulsamos sobre «ADD TO INDEX» para que GIT nos permita hacer commit y push del fichero.

Y bien, hasta aquí esta guía de uso básico, continuaremos hablando de GIT en próximos artículos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *