Git, EGit y GitHub.

· 937 palabras · Lectura de 5 minutos

Introducción

Este tutorial pretende reflejar un ciclo de trabajo básico con Git, EGit y GitHub, crear un nuevo repositorio, añadir y borrar archivos y subir ese repositorio a GitHub. Si quieres saber que es un sistema de control de versiones, las diferencias entre un sistema de control de versiones centralizado y uno distribuido o por qué Git y no Mercurial o Bazaar, te recomiendo que le eches un vistazo a alguna de las referencias.

Referencias:

Configuración de Git.

Hay que instalar Git, bien git-core para Linux, bien msysgit para Windows.

Una vez instalado, hay que seguir este tutorial para configurarlo. Si es en Windows, se puede usar el Git Bash que provee el msysgit. Para el propósito de este artículo, basta con rellenar nombre y email.

Instalación de EGit en Eclipse Indigo.

EGit se puede instalar directamente desde el marketplace de Eclipse:

Help > Eclipse Marketplace > Find: “EGit” > Install

Se reinicia Eclipse y queda instalado.

Creación del Proyecto de Pruebas.

Para las pruebas voy a utilizar un proyecto Java normal y corriente con una sola clase.

File > New… > Java Project > Nombre: PruebaGit

Click con el botón derecho encima del proyecto, New > Class:

  • Nombre: PruebaGit
  • Paquete: es.aguasnegras.pruebagit
  • Se marca también la generación de main.

Configuración del Proyecto Java de Pruebas

Tutorial Git 2 - Clase Java de Pruebas

Tutorial Git 3 - Clase Java de Pruebas en el Editor de Eclipse

Añadir el proyecto a un repositorio de Git.

Click con el botón derecho encima del proyecto, Team > Share Project… Selecciono Git > Next. En esta pantalla marco “Use or create repository in parent folder of the project”, si no existe el repositorio, debajo selecciono el proyecto y le doy a “Create repository”. Finish.

Tutorial Git 4 - Configuración del Repositorio de Git

Tutorial Git 5 - Repositorio de Git Creado

Ahora, creo el archivo .gitignore. En este archivo se pondrán todos los archivos y directorios que queremos que no se añadan al control de versiones. En este caso será el directorio bin y los propios del proyecto de Eclipse (.classpath, .settings y .project).

Click con el botón derecho encima del proyecto, New > File > Name: .gitignore y Finish.

Tutorial Git 6 - Creación de .gitignore

Se abre el archivo para editar y pongo las entradas de arriba cada una en una línea.

Añadiendo y borrrando archivos.

Con esto ya esta todo configurado y listo para empezar a trabajar. Antes hay que entender un poco como funciona Git. En Git, los archivos tienen tres estados:

  • Sin Modificar
  • Modificados
  • Staging (han sido modificados y además serán incluidos en el próximo commit al repositorio).

Por tanto, ahora mismo lo tengo todo en modificado, hay que añadirlo a Staging… click con el botón derecho en el proyecto, Team > Add y sale una cruz verde, ya estan en Staging, ahora commit.

Click con el botón derecho en el proyecto, Team > Commit, si todo ha ido bien, vemos la pantalla de commit, con el autor y el email completados. En mi caso, se ve también el .project porque se me escapó del .gitignore ;)

Tutorial Git 7 - Commit inicial del proyecto

Cambio ahora el main:

 public static void main(String[] args) {
	System.out.println("Subversion, tu antes molabas");
}

Para comparar los cambios (diff): click con el botón derecho en el proyecto, Team > Synchronize Workspace. En esta perspectiva (Team Synchronizing Perspective) tengo en el árbol de directorio tan solo los archivos que tienen cambios con respecto al repositorio, expando y doble click en PruebaGit.java. Se abre el Compare Editor y ahí tengo a la izquierda mi copia local, a la derecha lo que hay en el repositorio.

Tutorial Git 8 - Diff de dos archivos

Ahora voy a crear un “propiedades.properties”, lo voy a añadir y lo voy a borrar. Para ello, creo el archivo, igual que hice con el .gitignore y hago commit. ¿Para borrar? Lo borro (click con el botón derecho > delete) y a continuación, hago commit de nuevo. Listo, para comprobarlo, click con el botón derecho en el proyecto, Team > Show in History. Selecciono el último commit y abajo a la derecha se observa que se ha borrado propiedades.properties.

Tutorial Git 9 - Borrado de un archivo

Hasta el momento, he trabajado siempre en local, es decir, contra el repositorio que hay en mi misma máquina, pero, ¿cómo lo subo a la nube?… Enter GitHub!

Subir el repositorio a GitHub.

Accedo a mi cuenta de GitHub y le doy a Dashboard. Dentro del Dashboard, creo un repositorio nuevo (create repository):

  • Project Name: PruebaGit
  • Description: Ejemplo de uso de Git

Click en create repository y listo. En la siguiente página, lo importante es hacer click en http, para que me dé un enlace http al repositorio (lo más normal es que cualquier firewall/proxy corte el protocolo git).

Tutorial Git 10 - Creación del repositorio en GitHub

Ahora, en el eclipse, click con el botón derecho encima del proyecto, Team > Remote > Push… En esta pantalla, introduzco la URI (http) que me ha dado GitHub e introduzco mi contraseña de GitHub.

Tutorial Git 11 - Subir el proyecto a GitHub

En la siguiente pantalla, escojo que quiero enviar y a donde, en mi caso particular, me basta con enviar mi master a su master. Los escojo y hago click en “Add Spec”.

Tutorial Git 12 - Escoger que rama se quiere subir a GitHub

A continuación puedo darle a “Next” para ver la pantalla de confirmación y pulsar “Finish”.

Tutorial Git 13 - Finalizar subida de repositorio a GitHub

![Tutorial Git 14 - Confirmar Subida del Proyecto a GitHub](/images/2011/08/TutorialGit13.png"

En GitHub voy a mi Dashboard, hago click encima del repositorio PruebaGit y veo que, efectivamente ya están ahí mis archivos.

Tutorial Git 15 - Proyecto en GitHub

Para subir archivos, muy sencillo, click con el botón derecho encima del proyecto, Team > Remote > Push…

Para traer los cambios, igual, pero con pull: click con el botón derecho encima del proyecto, Team > Remote > Pull…

Y con esto, ya se ha cubierto la funcionalidad básica de Git, trabajo con el repositorio local, añadir, modificar y borrar archivos y subir a un repositorio remoto.

Ya en otro veré como manejar ramas, etc…

comments powered by Disqus