Git, clonar repositorio y manejo de ramas

Hasta ahora hemos visto como subir nuestro proyecto al repositorio de Github. Para que el resto de desarrolladores de nuestro equipo puedan trabajar con el proyecto que acabamos de subir, deben clonar el repositorio.

Clonar el repositorio

Como hemos comentado, en Github, cuando subimos un proyecto tenemos tres métodos de acceso.

  • HTTP → Nos pide contraseña de la cuenta de Github para bajar el proyecto. No es necesaria para bajarlo, pero si para subir cambios.
  • SSH → Con un par de claves ssh
  • Git-Read Only → Acceso de solo lectura.
Acceso al repositorio

Acceso al repositorio (pinchar para agrandar)

Nosotros vamos a utilizar SSH, así que ejecutamos el siguiente comando:

Como se puede ver nos ha bajado el repositorio. Si nos movemos a la carpeta del proyecto ”EjemploJsf” y ejecutamos “git log”, observamos que tenemos todo el historial de cambios.

Para clonar un repositorio en Eclipse, desde la vista de “Git Repository Exploring” seleccionamos “Clone a Git Repository”.

Explorador de repositorios

Explorador de repositorios

Si tenemos copiada la url en el portapapeles, automáticamente nos lo parsea:

Clonar repositorio en EGit

Clonar repositorio en EGit

Pulsamos en “Next” y nos muestra las ramas que tiene, en este caso una, le damos a “Next” y nos dice donde colocará el proyecto. Curiosamente, por defecto, no baja el proyecto al workspace,  sino que lo coloca en una carpeta del home del usuario. Así que si queremos tener el proyecto en el workspace, tenemos que seleccionarlo:

Destino local

Destino local

Pulsamos en “Finish”. Ahora ya podemos importarlo como un proyecto más. En los proyectos Maven, es mejor importarlos como un proyecto genérico y configurarlos después como proyecto Maven pulsando con el botón derecho sobre el proyecto “Configure >> Maven Proyect”.

Importar proyecto

Importar proyecto

Manejando ramas (branch) en Git

Se puede crear una rama a partir de un punto determinado de la vida de un proyecto. Desde ese momento, existirán dos copias de ese proyecto que se desarrollarán por separado. Del mismo modo, se puede tomar el camino inverso y juntar dos ramas, de modo que se haga un “merge”. La rama por defecto en Git es la rama “master”, que se usa como rama principal. Vamos a ver algunos comandos:

Para conocer las ramas existentes

Con el modificador –a, vemos tanto las ramas legales como remotas. Nos mostrará un * para marcar la rama en la que estamos.

Para crear una rama en el repositorio local

Para borrar una rama del repositorio local, añadimos la opción –d o -D

Para cambiar a la nueva rama hacemos “checkout” de la rama. Podemos hacer las dos cosas en un único paso, esto es, crear la rama y posicionarnos en ella. Para ello añadimos la opción –b al comando “checkout”

Para mezclar dos ramas, nos colocamos en la rama que nos interese y luego hacemos “merge”.

Para subir la nueva rama al repositorio, hacemos un “push

Para tener conocimiento de las ramas que han subido otros desarrolladores, ejecutamos

Si nos queremos traer una de las ramas que nos muestra “fetch”, tenemos que crear una nueva rama local a partir de la rama remota, por ejemplo:

Recordar que origin es el alias que pusimos a nuestro repositorio remoto.

Para borrar una rama local, ejecutamos lo siguiente

Para borrar una rama del servidor

En Eclipse podemos ver las ramas locales y remotas directamente en el explorador de repositorios. Para crear una nueva rama, haríamos clic derecho “Switch to >> New Branch”.

Cambiar de rama

Cambiar de rama

Le damos un nombre y aceptamos. Por defecto nos cambia a esa rama.

Para mezclar dos ramas, hacemos clic derecho y seleccionamos “Merge”, nos preguntará la rama con la que queremos hacer “merge”, la seleccionamos y aceptamos. Si consultamos el histórico, nos muestra que se ha mezclado las dos ramas:

Historial

Historial

Una vez que hemos hecho el merge, podemos eliminar el branch si queremos con “delete”.

Para subir una rama al repositorio de Github, hacemos clic derecho en la rama y seleccionamos “Push Branch…”. Indicamos el path para la nueva rama y pulsamos en finalizar.

Subir una rama al repositorio de Github

Subir una rama al repositorio de Github

Si lo que queremos es crear una rama local, a partir de una rama remota, la seleccionaremos con botón derecho y pulsaremos en “Create Branch”.

Finalmente si lo que queremos es borrar una rama remota desde Eclipse, con EGit podemos seleccionar “delete”, que nos eliminará la rama remota de Eclipse, pero no nos lo eliminará del repositorio remoto. Para eliminar una rama del repositorio remoto, tendremos que hacerlo por línea de comandos, tal y como explicamos anteriormente. 

Aquí termina este artículo y con el terminamos de hablar sobre Git. Espero que os haya sido útil. En los próximos artículos continuaremos analizando herramientas que nos permitan completar nuestro sistema de integración continua.

Un comentario:

  1. Como talvez puedes crear un post para explicar los simbolos y colores cuando se realiza una sincronizacion, es decir si mi clase se pone de color rojo en la sincronizacion como la corrijo, gracias

Deja un comentario

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