jueves, 26 de septiembre de 2013

Como crear un repositorio y acceder a él desde Eclipse, mediante Bitbucket y Git.

Si tienes un proyecto, y quieres desarrollarlo en equipo, un aspecto muy importante es tener un repositorio donde compartirlo, y poder programar en él sin tener muchos problemas para que no os piséis unos a otros.
Aquí voy a explicar como crear un repositorio con nuestro proyecto y cómo implementar las herramientas necesarias para acceder a él desde Eclipse. Usaremos BitBucket, Git y Eclipse:

Bitbucket es un servidor donde guardar tus repositorios, permite guardarlos tanto privados cómo públicos, y la versión gratuita permite hasta un máximo de 5 usuarios trabajando sobre él.
Git es un software de control de versiones, que nos permitirá añadir, modificar y eliminar código en nuestro proyecto.



Empecemos:


1       Crear repositorio en Bitbucket
·         Registrarse en Bitbucket  https://bitbucket.org/account/signup/
·         Revisa tu email y busca el mail de confirmación de Bitbucket
·         Inicia sesión
·         Crear un respositorio
                                                               i.      Pulsa en Create new repository
                                                             ii.       Especifica el nombre y la descripción del repositorio donde guardarás el proyecto a compartir
                                                            iii.      Access Level --> This is a private repository
                                                           iv.      Repository type --> Git
                                                             v.      Project management --> Issue Tracking y Wiki
                                                           vi.      Language --> El lenguaje de programación principal del proyecto
                                                          vii.      Create Repository

2    Añadir código al repositorio
·         Instalar Git para Windows http://code.google.com/p/msysgit/downloads/list
·         Iniciar Git --> Git Bash
·         Configurarte como usuario: (esto es para que aparezca tu nombre e email en los cambios que se hagan en el proyecto compartido)
git config --global user.name "FIRST_NAME LAST_NAME"
git config --global user.email "MY_NAME@example.com"
·         Crear una carpeta local donde guardar el proyecto que se subirá al repositorio de bitbucket: 
                        mkdir repos
·         Por defecto, esta carpeta se guardará en C:\Users\{nombre de usuario}\
·         Entra en la carpeta:
cd repos
·         Ve a tu repositorio en Bitbucket y pulsa el botón Clone
·         Copia el texto que se ha generado (git clone https://...)
·         Vuelve a Git Bash, pega ese texto y ejecuta el comando. Tendrás que poner el password de la cuenta que te creaste en Bitbucket
·         Verás que en tu carpeta repos, se ha creado otra carpeta con el nombre del repositorio (para este tutorial, lo vamos a llamar pruebaRepo)
·         Copia la carpeta del proyecto que quieras compartir  y pegalo a pruebaRepo
·         En GitBash, entra en esa carpeta:
Cd pruebaRepo
·         Y comprueba lo que contiene:
ls –al
·         Verás un listado con el proyecto que acabas de añadir
·         Ahora hay que subirlo al repositorio
                                                               i.      Añade la carpeta del proyecto (esto añadirá todas sus subcarpetas):
git add nombreArchivoProyecto
                                                             ii.      Ahora, comprueba el estado:
git status
                                                            iii.      Verás que aparecen todos los archivos que se han añadido y que están listos para hacer commit.               
                                                           iv.       Hacemos commit, pudiendo añadirle un comentario, por ejemplo “Se añaden los archivos del proyecto”:
git commit –m “Se añaden los archivos del proyecto”
                                                             v.      Esto ha hecho que se suba el proyecto en un repositorio local, ahora hay que subirlo al repositorio del servidor (tendrás que poner el password de la cuenta de bitbucket):
git push –u origin master
                                                           vi.      Ahora si vas a Bitbucket, podrás ver en Source el proyecto que acabas de subir, y en Commit los cambios que se han realizado.

3       Importar el proyecto del repositorio a Eclipse
·         Primero debes instalar EGit, el plugin de Git para Eclipse:
                                                               i.      Help --> Install New Software
                                                             ii.      Add
                                                            iii.      Name: Egit
Location:
http://download.eclipse.org/egit/updates
                                                           iv.      Seleccionas todo y pulsas Finish.
·         Cuando se reinicie Eclipse, importa el proyecto:
                                                               i.      Import
                                                             ii.      Git --> Projects from Git
                                                            iii.      Clone URI
                                                           iv.      Vas a bitbucket y copias la Url que te aparece cuando pulsas el botón Clone
                                                             v.      Pegalo en el apartado URI y en password pones el de la cuenta de bitbucket. Haz check en Store in secure store.
                                                           vi.      Selecciona master
                                                          vii.      Elige el lugar donde se va a descargar el proyecto
                                                        viii.      Déjalo todo como esta y pulsa Finish
                                                           ix.      Import Existing Project , Next
                                                             x.      Añádelo a un working set si lo deseas
                                                           xi.      Y Finish.

Tanto los 3 pasos de la instalación y configuración de usuario de Git de Windows como la instalación de Egit
 e importación del proyecto, tendrán que hacerlo cada uno de los usuarios que accedan al proyecto, en sus 
respectivos ordenadores.
Una vez que ya tenemos, el proyecto compartido, estas son las acciones que podemos hacer con EGit:

4       Uso de Egit

·         Hacer Commit (subir cambios a local)
·         1ª opción: Usar la vista 'Git Staging' (Recomendada):
·         Window --> Show View --> Other --> Git Staging
·         En el panel 'Unstaged Changes' aparecen los archivos que han sido modificados
·         Selecciónalos y pulsa la opción 'Add to Git Index'
·         Se añadirán al panel 'Staged Changes'
·         Escribe un comentario en el panel 'Commit message'
·         Pulsa el botón de arriba a la derecha 'Commit'
·         Se subirán los cambios al repositorio LOCAL (no al servidor)
·         2ª opción: Hacerlo desde Team:
·         Seleccionar en el Working Set los archivos que se quieren "commitear"
·         Team--> Add to Index
·         Team --> Synchronize Workspace
·         Seleccionar los archivos a subir al repositorio local
·         Commit
·         Se subirán los cambios al repositorio LOCAL (no al servidor)
·         Hacer Push (subir cambios al servidor)
·         Una vez hecho commit:
·         Team --> Synchronize Workspace
·         Selecciona los archivos a subir al repositorio del servidor
·         Push (no aparece ningún mensaje de confirmación, se hará el push y después te mostrará los commits que se han subido)
·         Se subirán los cambios al repositorio SERVIDOR
·         Hacer Pull (descargar/actualizar cambios del servidor)
·         Team --> Fetch for Upstream. Esto muestra todo lo que hay nuevo en el servidor. Es opcional.
·         Team-->Pull
·         Hacer un Branch (rama alternativa del proyecto original)
·         Team --> Switch To --> New Branch
·         Escribe el nombre del Branch
·         Elegir estragegia al hacer Pull (por defecto, None):
·         Rebase: Al hacer Pull, los nuevos cambios se traerán del servidor y el branch remoto se actualizará. Entonces, el branch local actual se reestablecerá con el branch remoto actualizado.
·         Merge: Al hacer Pull, los nuevos cambios se traerán del servidor y el branch remoto se actualizará. Entonces, el branch local actual se mezclará (merge) con los nuevos cambios.
·         None: Si existe un branch remoto llamado origin, se establecerá la configuración de este a la hora de hacer Pull.
·         Marcar 'Checkout new branch' para empezar a trabajar sobre su código.
·         Hacer Merge (mezclar código de las distintas ramas de desarrollo)
·         Añadir cambios del branch a la rama principal (master):
·         Team --> Merge
·         Elegir el nombre del branch
·         Si todo ha ido bien, los cambios del branch estarán en el master
·         Si hay conflictos entre códigos, para resolverlos:
·         Sobre el archivo con conflicto, seleccionar Team-->Merge Tool
·         Selecciona 'Use HEAD (the last local version) of conflicting files'
·         Aparecerá el código del branch a la derecha, y el código donde se va a guardar la mezcla (master) a la izquierda.
·         Edita el código de la izquierda, de forma que quede el código como tu deseas y después guárdalo
·         En ese archivo, pulsa Team-->Add to Index y luego Team-->Commit
·         Añadir cambios del master al branch, y seguir trabajando en este:
·         Si estas en el branch Team --> Switch to --> master
·         Dentro del master Team --> Fetch from upstream (para ver lo que se va a actualizar, se puede obviar este paso)
·         Dentro del master Team --> Pull
·         Team --> Switch To --> branch
·         Dentro del branch Team--> Merge
·         Seguir los pasos del punto anterior en caso de que hayan conflictos.


·         Referencias:
·         http://wiki.eclipse.org/EGit/User_Guide#Creating_a_New_Local_Branch
              http://eclipsesource.com/blogs/2011/05/30/merging-branches-in-eclipse-git-egit/


2 comentarios: