Control de versiones en Bitbucket
Para cualquier desarrollo o proyecto TI es muy recomendable el uso de un sistema de gestión de versiones de ficheros. Incluso si trabajamos solos, imprescindible para el trabajo en equipo, especialmente si este está distribuido geográficamente.
Para llaneros solitarios o pequeños equipos es muy costoso en tiempo y dedicación disponer de su propio servidor de repositorios, siendo mas recomendable la opción de utilizar los servicios de empresas que proporcionan repositorios listos para utilizar, sin preocuparnos de tener que securizarlos o realizar copias de seguridad y, en muchos casos, de forma totalmente gratuita.
Bitbucket es uno de estos servicios. Lo proporciona la afamada empresa Atlassian, creadores del excelente Jira, otra herramienta imprescindible para cualquier equipo de desarrollo de más de una persona, de la que ya hablaremos en otro artículo. Ofrece ilimitados repositorios Git o Mercurial sin límite de tamaño, eso sí, limitado a un máximo de 5 usuarios cada uno. Existe la posibilidad de contratar más usuarios para equipos más grandes, pero ya mediante pago, o sin limitaciones para desarrollos de código abierto.
El primer paso para poder crear nuestro primer repositorio es darnos de alta en Bitbucket y acceder a nuestra cuenta.
Una vez dentro seleccionamos “Crear” un nuevo repositorio. Imprescindible introducir un nombre al repositorio. Los demás campos son opcionales pero recomendados.
Podemos seleccionar el tipo de repositorio, Git o Mercurial. En la práctica son idénticos así que seleccionamos aquel con el que nos sintamos mas cómodos. Para novatos Mercurial parece más intuitivo, pero con herramientas como TortoiseGIT / TortoiseHg y el soporte integrado en los IDEs es totalmente transparente el uso de uno u otro.
Una vez creado podemos comenzar a trabajar con él. La primera tarea es clonar el repositorio en una copia local, que será la de trabajo.
Iniciamos NetBeans. Una vez en la pantalla principal seleccionamos “Team-Git-Clone” para clonar (hacer una copia local) un repositorio (Git en este ejemplo, para Mercurial o Subversion el proceso es análogo)
Nos solicitará los datos de conexión a un repositorio Git, en la pantalla principal del repositorio en Bitbucket (pestaña dashboard) se proporcionan todos los datos necesarios. Básicamente son los datos de acceso al repositorio y el directorio local de trabajo donde deseamos hacer la copia.
En el caso que el repositorio dispusiese de varias ramas seleccionamos aquella que deseamos copiar. En nuestro ejemplo el repositorio está vacío por lo que no nos aparece ninguna.
Finalmente configuramos la copia local
En caso que ya existiesen ficheros en el repositorio podemos indicarle a NetBeans que importe automáticamente los proyectos que hubiese en el mismo.
Debido a que nuestro repositorio está vacío nos aparece la pantalla de proyectos de NetBeans vacía.
Procedemos a crear un nuevo proyecto PHP que añadiremos al repositorio para llevar un control de versionado de los ficheros del mismo.
Seleccionamos como directorio del proyecto el directorio donde hemos clonado el repositorio
Tras crear el proyecto y añadir unos cuantos ficheros comprobamos que aparecen unos iconos en los directorios y los nuevos ficheros son de color verde. Esto indica que son nuevos, pero aun no han sido añadidos al repositorio
Primero añadimos los ficheros a la copia local del repositorio para empezar a llevar un control de versionado de los mismos mediante el menú contextual “Git-Add”
Para hacer efectivas las modificaciones al repositorio es necesario confirmar los cambios locales (commit) mediante la opción del menú contextual “Git-Commit”
Siempre que se realiza una confirmación es necesario incluir un mensaje indicando el motivo de los cambios que se incluyen en la misma. En el mismo dialogo veremos los cambios que se van a confirmar en el repositorio (adiciones, modificaciones y borrados)
Cuando queremos publicar y compartir nuestros cambios locales con los demás integrantes del proyecto debemos subirlos al repositorio de Bitbucket (esta acción se conoce como push) mediante la opción del menú contextual “Git-Remote-Push”
Se solicitan algunos datos para confirmar la subida de los cambios. Estos datos se pueden almacenar para que no se nos soliciten cada vez
Si actualizamos el dashboard del repositorio en Bitbucket podremos comprobar los cambios realizados
Ver los ficheros actualmente en el repositorio
Y comprobar las confirmaciones (commit) realizadas y subidas (push) al repositorio
A partir de este momento cualquier otro usuario puede realizar una descarga del repositorio (pull) y actualizar su copia local de trabajo (previamente creada con clone) con los cambios realizados en el repositorio central de Bitbucket mediante la opción del menú contextual “Git-Remote-Pull”
Es recomendable hacer siempre un pull del repositorio antes de empezar a trabajar, para asegurarnos tener la copia mas actualizada del proyecto antes de empezar a realizar nuestras modificaciones.
En otro articulo explicaremos funciones mas avanzadas, como el trabajo con ramas (branches) y la resolución de conflictos (merge) cuando mas de un commit modifica el mismo fichero y el sistema no es capaz de realizar automáticamente la mezcla de dichas modificaciones.
Gracias amigo, muy buena info
Gracias a ti Julio por comentar!
Los comentarios y los shares en vuestras redes sociales nos hacen continuar hacia delante al equipo de sospedia.net.
Saludos!!
Pingback: Bonus Pack 2018: Recopilación de artículos de sospedia.net – jblanco.org
Pingback: Bonus Pack 2018: Recopilación de artículos de sospedia.net – Jose Blanco Vega
Pingback: Publicar aplicación PHP en Clouding.io directamente desde NetBeans – sospedia