Git es un sistema distribuido de control de código
fuente que nos permite ordenar y gestionar el desarrollo de software mediante
proyectos colaborativos.
Lo
que puede hacer es:
- Compartir proyectos con usuarios o grupos de usuarios que intervengan en el desarrollo de manera colaborativa de un proyecto software.
- Mantener un proyecto común que puede ser mejorado independientemente de las cosas que le añaden los distintos programadores que intervienen en su desarrollo.
- Controlar los cambios que se hacen en un proyecto software en cualquier parte del desarrollo así como las personas que intervienen en el.
Esta tarea es fundamental para el desarrollo de
software porque permite mantener y llevar un control funcional incluso en
proyectos independientes.
Que
aporta a la Ingeniería de Software:
- Permite hacer auditoría de software: permitiendo saber quién ha modificado que y cuando.
- Controla como va cambiado nuestro software (muestra la evolución de nuestro proyecto).
- Control de versiones de software a través de etiquetas V1.0, V1.0.1, etc. saber qué diferencias existen entre las diferentes versiones que se van produciendo.
- Cifrado y seguridad de nuestros proyectos; nosotros nos enteramos de todo lo que le pasa a nuestro código.
- Mejorar el trabajo en equipo.
Que necesitamos para empezar:
1.- Descargamos primero la herramienta GIT de
su página oficial:
Esta es una herramienta ejecutable modo consola
tipo DOS (pero también cuenta con una interfaz gráfica), este programa nos
permite comunicarnos con nuestro repositorio (banco de códigos fuente) ya sea
local o mediante internet.
Esta consola se controla mediante una serie de
códigos.
2.- Un repositorio de códigos: Este es uno de
los conceptos importantes de la filosofía colaborativa que tiene GIT; porque
hace uso de servicios web colaborativos; estos servicios web almacenan el
código fuente ya sean en proyectos públicos o privados, que luego son usados
por los desarrolladores para hacer modificaciones, mejoras o extensiones al código original.
Los repositorios que se han visto son:
Github https://github.com/
GitLab https://about.gitlab.com/
Bitbucket https://bitbucket.org
También se encontró un repositorio boliviano
basado en gitlab: http://gitlab.softwarelibre.gob.bo/
Por sus características se puede decir que
GITHUB es el repositorio más popular, por su carácter social y además de que las
principales marcas (Facebook, twitter, googlelabs, etc.) utilizan esta
plataforma para lanzar sus productos y obtener retroalimentación de la
comunidad de desarrolladores aprovechando su modelo de negocios. Por otro lado
su desventaja es que, en cuentas gratuitas no se permite repositorios privados.
GITLAB al contrario es por completo software libre por lo que cuenta con las
mismas herramientas y más que github hasta la instalación de repositorios
locales empresariales en base a Linux; un punto medio que puede existir y
solución a mediano plazo para el manejo de desarrollos software y versionamiento,
seria BITBUCKET que permite con un plan gratuito crear repositorios privados o
públicos, manteniendo un equipo de trabajo colaborativo y todo esto de manera
sencilla y privada.
Comenzando con BITBUCKET
1.- Ingresamos a la página https://bitbucket.org/ se puede crear un usuario o utilizar nuestra
cuenta google para ingresar.
2.- una vez que ingresemos nos muestra un escritorio
Con el que ya se puede empezar a trabajar; en
la parte inferior se muestra nuestros repositorios y fácilmente se puede
invitar a otras personas para formar un equipo de desarrollo (máximo 5 en la
versión libre).
3.- empezamos a crear repositorios: en el menú
superior Repositorios/Crear repositorio
Le damos un nombre al proyecto, en la sección
de configuraciones avanzadas podemos dar más características al proyecto, como
los forks (versiones ajenas del proyecto o bifurcaciones), para tener todas las
notificaciones de modificación de nuestro código habilitamos la gestión de
incidencias y el hipchat.
Una vez creado nuestro repositorio entramos a la configuración:
En esta parte ya se tiene todas las
herramientas para empezar a llenar nuestros repositorios de códigos.
El menú lateral de herramientas se divide en
Acciones y Navegación.
La navegación muestra un resumen de nuestro
proyecto, además muestra el código fuente, los commits que son las pequeñas
versiones o pequeños cambios que se añaden a nuestro proyecto; las branchs o
ramas son funcionalidades aisladas unas de otras, se crean ramas durante el
desarrollo y se fusionan a la rama principal cuando se terminen esas ramas del
desarrollo. Las peticiones Pull son para que los demás desarrolladores revisen
los cambios que se han hecho al código donde se aprueba los cambios para
futuras versión y se fusionan al proyecto. Las Issues son las incidencias o
reportes de errores que puede tener nuestro código.
Las acciones se controlan desde el mismo
repositorio o por medio de nuestro cliente GIT; existen diferentes operaciones
como Clonar que sirve para obtener nuestro código con las modificaciones
respectivas en cualquier momento. Se puede también agregar ramas o branchs a
nuestro proyecto, hacer modificaciones al código así como compararlo o separar
nuestro código para hacer nuevas versiones.
4.- con la herramienta GIT que hemos descargado vamos a ejecutarlo, nos
saldrá una ventana tipo consola; lo primero que se hace es identificarse como
usuario:
lo primero que se hace es identificarse como
usuario:
$git config –global user.name
“su_nombre_de_usuario”
$git config –global user.email sucorreo@gmail.com
Ya se puede empezar a trabajar con GIT:
En el paso (3) empezamos a creando un
repositorio vacío, al cual iremos llenando de código por medio de la consola.
Por medio de la consola tenemos que encontrarnos en la carpeta de nuestro
proyecto software.
$cd [path de donde se encuentra
nuestro proyecto]
Ejemplo:
$cd
e/proyectos/prueba
Como es una prueba
estoy en una carpeta prueba vacía, aquí será donde clonare mi repositorio que
también está vacío.
$git clone [aquí
va la dirección que voy a copiar de mi repositorio bitbucket]
En la página de
bitbucket escojo el botón clonar del panel izquierdo de acciones y copio la
dirección que se encuentra en el cuadro de texto HTTPS.
Ejemplo:
$git clone https://xxxxx@bitbucket.org/dirRaiz/prueba2.git
Pulso ENTER y se
clona el proyecto “vacío” en el equipo local en la dirección que se le indico.
Si abrimos la carpeta del proyecto de prueba no veremos ningún cambio excepto
que se creó una carpeta oculta .git que establece esta carpeta como mi proyecto
master del cual a partir de ahora está vinculada al proyecto software que he
creado en bitbucket.
Para Finalizar;
realizaremos una prueba más que será crear un archivo que se añadirá al
proyecto; para eso creamos un archivo (en este caso estoy creando un
textoPrueba.txt) y vincularemos este archivo de prueba como parte de nuestro código
de proyecto. Para eso en la consola GIT escribimos el siguiente código:
$git status
Este nos mostrara
el estado actual del proyecto
Para actualizar
todos los archivos i incluirlos en el proyecto (en este caso solo hemos creado
textoPrueba.txt) escribimos el siguiente código:
$git add .
Y revisando el
estado otra vez obtendremos:
Como se puede ver
se a incluido un nuevo archivo al proyecto, como es un ejemplo incluiremos un
commit o
un aviso a las personas que vean mi código que he hecho un cambio al
proyecto añadiendo un archivo esto se hace con la siguiente línea de código.
$git commit –m
“commit inicial”
Que indica que 1
archivo a cambiado y se inserta en el proyecto. Por ultimo vamos a actualizar
nuestro proyecto y ponerlo a disposición de los demás desarrolladores. Para
esto tenemos que subirlo a BITBUCKET con el siguiente código:
$git push origin
master
Ahora si vemos
nuestro proyecto en el servicio BITBUCKET esta actualizado con el nuevo archivo
que se incluyó y además de las notificaciones correspondientes de lo que se ha
hecho en el proyecto.
Referencias: