Cómo instalar eGit en Eclipse y conectar con GitHub


Buenas, hasta ahora los proyectos con los que fuimos trabajando siempre los hicimos de forma local y nunca en modo colaborativo. Hace poco que hemos empezado el Proyecto de Software Libre y aprovechando que se va a subir el código fuente a un repositorio, vamos a enseñaros como conectarnos a un repositorio y subir vuestros proyectos.

El repositorio que vamos a utilizar será Git, un control de versiones distribuido. Es decir, cada uno de nosotros nos bajaremos una copia de un proyecto en concreto, haremos nuestros cambios, pruebas, etc... pondremos primero los cambios en nuestro repositorio local y luego el repositorio principal.

El repositorio más común es www.github.com, tiene una versión libre en la que los proyectos que tengamos estarán a disposición de todo el mundo, pero en modo solo lectura. También está la opción de pagar, y según cuanto se pague podremos tener muchas más opciones.

Lo primero antes de hacer nada es crearnos una cuenta de usuario en github si no la tenéis ya. Y aprovechando que estáis en la web también creáis un repositorio para hacer las pruebas de este artículo. Le dais el nombre que queráis. Fijaros que al crear el repositorio, os da la opción de crear un archivo .gitignore eligiendo para que lenguaje o tecnología será. Este archivo permitirá indicar que archivos o directorios ignorar a la hora de modificar el proyecto.


Vamos a instalar el plugin egit. Este nos va a ayudar a gestionar los repositorios de nuestro pc y subir a github desde Eclipse con unos pocos clicks. En las últimas versiones de Eclipse ya viene preinstalado y solo debereis activarlo. Y si no lo instalamos. De cualquier forma en Eclipse vamos a Help > Install new Software. En la primera caja de texto escribimos egit y buscamos si existe o no el plugin. Si nos sale algo lo seleccionamos todo y lo habilitamos. Si no añadimos un nuevo plugin dándole un nombre y esta url: http://download.eclipse.org/egit/updates.



Una vez instalado debemos crear una key ssh que nos permitirá comunicarnos con el servidor github y subir nuestros proyectos. Desde Eclipse vamos a Window > Preferences y dentro de este vamos a General > Network Connections > SSH2, en la pestaña Key Management creamos una nueva key rsa. Le damos una contraseña que deberéis recordar para más adelante. Además al crearse nos dará una key para utilizar en servidores con los que nos comunicaremos, en nuestro caso con github.

Antes de nada, vamos otra vez a github.com, en la configuración de nuestra cuenta buscamos la opción ssh keys, y creamos una nueva key ssh. Ponéis el título que queráis, la key es la que os dio Eclipse al crear la key en vuestro servidor.

Los siguientes pasos los realizaremos en el terminal, para ello abrimos uno y vamos a ir tecleando los siguientes comandos.

$ chmod 600 /home/[nombre de vuestro usuario]/.ssh/[nombre de vuestra key]

Primero de todo modificamos los permisos de vuestra key. En mi caso hago esto por que me estaba dando un error en Eclipse al intentar subir a un repositorio y despues de mucho buscar la razón que daban era modificar los permisos.

$ git config --global user.name “Aqui vuestro nombre”
$ git config --global user.email “aquí vuestro email”

Con esto conseguimos que al subir un proyecto lo haga con los datos de usuario que le indicamos aquí.

$ gedit ~/.profile

Editamos el archivo profile de vuestra carpeta personal y añadimos la siguiente línea. Si buscáis por internet sobre git y esta línea, está la opción de agregarla en otro archivo mucho más general (ahora mismo no recuerdo cual era), pero una de las personas que opinaba no recomendaba hacer esto, al hacerlo de esta forma solo se está haciendo en vuestra cuenta y no en el resto.

export GIT_SSH=”/usr/bin/ssh”

Por lo que pude leer, esta línea se añade por que no existe la variable GIT_SSH, la cual es necesaria para que egit pueda subir proyectos.

Por último, ejecutamos este comando:

$ ssh -T git@github.com

Con esto hemos conseguido autenticar nuestra máquina en el dominio github.com con el usuario git. Nos pedirá que le indiquemos el archivo rsa que queremos asociar, indicais la ruta del archivo que creamos antes con Eclipse. Fijaos que está en vuestra carpeta personal en el directorio .ssh.

Después de esto yo os recomiendo reiniciar todo para que los cambios hagan efecto. Y después de reiniciar ya podréis empezar a trabajar con egit.

Si queréis, crearos un proyecto de prueba en Eclipse, da igual que sea en Android o cualquier otra cosa para este caso. Lo primero de todo es compartir el proyecto. Para ello haremos botón derecho en el proyecto y buscamos Team (atentos a esta opción por que estaremos volviendo aquí continuamente), y seleccionamos Share Proyect. Ahora seleccionamos Git y siguiente. En la siguiente pantalla nos pide que indiquemos un repositorio. Vamos a crear uno nuevo, pero ojo, no lo creeis en vuestra carpeta donde teneis vuestros proyectos, hacerlo en una nueva carpeta a parte. Os podeis crear una llamada git para tener ahi todos los repositorios que creeis. Una vez creado aceptais y listo.

Ahora en el raíz de vuestro proyecto creais un archivo llamado .gitignore y en el escribis "bin" para que ignore esta carpeta al subir archivos.

Podéis hacer cualquier cambio en el proyecto y luego subiremos los cambios. Estos se harán en 3 pasos. El primero de ellos es marcar los archivos con el comando "add" para decir que archivos se marcarán para guardar en nuestro repositorio local. Para ello desde Team, ahora elegimos add to index. Como vereis un iconito con un más se añade al lado de los iconos de los archivos.

El siguiente paso es hacer un commit, es decir, llevar los archivos al repositorio local. Para ello otra vez vamos a Team y buscamos commit. El iconito cambiará a uno amarillo similar a una base de datos.

El último paso será subir los cambios a nuestro repositorio en github. Para ello vamos un momento a github.com y en la info general de nuestro repositorio veremos unos enlaces, nos dan la opción de tener el enlace SSH, HTTP o GIT-READ ONLY. Escogemos el enlace SSH. Volvemos a Eclipse y Team. Y seleccionamos Remote > Push. En mi caso si tengo en memoria el enlace ya me lo copia en el campo url, y si no está lo pegais. En protocolo seleccionais ssh, el usuario es git y la contraseña la dejáis en blanco. Continuamos.


En la siguiente pantalla es donde sabréis si la configuración está bien o no, aquí es donde yo tuve la inmensa mayoría de problemas, pero a base de buscar en Google el mensaje que me daban Eclipse es como pude ir resolviendo todos los errores. En el caso de que este bien, en source ref seleccionais la opción que pone master y en destination ref lo mismo. Pulsais add spec y aparecerá una nueva línea en la lista de abajo y ya está listo todo para darle a siguiente y finalizar.


Si todo ha ido bien, deberiais ir a vuestra cuenta de github, actualizar, y ver en vuestro repositorio la lista de archivos que se han subido.

Para poder descargaros un proyecto existente en github la cosa es mucho más sencilla, solamente debeis copiar el enlace que os dan del proyecto. En Eclipse vais a File > Import  y seleccionais GIT. Ahora entre local y URI seleccionais URI.


En la siguiente pantalla copiais la url, el resto de campos se rellenan solos y el protocolo seleccionais git. Como antes debeis seleccionar un repositorio donde copiar el proyecto, yo me creo uno nuevo para cada proyecto y no mezclo nada. Los siguientes pasos no necesitan modificar nada, continuando y dándole a siguiente ya debería aparecer el proyecto.



Comments are closed.