GUI para Git
Dada la naturaleza abstracta del funcionamiento de algunas de las herramientas de Git, a veces resulta poco intuitivo el resultado de las acciones que realizamos en nuestros repositorio y puede prestarse para confusiones.
Es por ello que se han ido creando distintas GUI(Graphical User Interface) que envuelven los comandos para terminal de Git y desarrollan distintas herramientas visuales para convertir las operaciones con los repositorios en tareas más intuitivas y sencillas de realizar.
Para el desarrollo de esta asignatura se hace uso de Git Kraken, herramienta desarollada por Axosoft de descarga gratuita y uso con inscripción. Esta es selecionada debido a que encuentra disponible tanto para Windows, como para Mac y Linux.
Configurar Git Kraken
Para descargar el programa, dirigirse a la Página Dedicada por la empresa y seguir los pasos descritos allí para su instalación.
Una vez instalado el programa, iniciar su ejecución. Se desplegará una página de bienvenida, la que le solicitará iniciar sesión, o bien, le permitirpa la creación de una nueva cuenta.
Iniciar el proceso de creación de cuenta seleccionando el botón Create a GitKraken Account, llenar los campos solicitados con los datos personales solicitados y su correo institucional. Finalizar el proceso seleccionando el botón verde de dicha ventana.
Finalizar el proceso leyendo el correo de verificación que llegará a su bandeja de entrada y completando las instruciones que contiene. Vuelva al programa y inicie sesión con su nueva cuenta.
Complete los datos para generar su perfil y proceder a la siguiente pantalla presionando Save changes.
Se ofrecerá una semana de prueba de la versión PRO del programa, usted si lo desea puede hacer uso de ella, pero no es necesario para la asignatura.
Estando en la ventana principal del programa, ir a la barra de Menú y ingresar a File->Preferences->Authentication.
Allí seleccionar el botón Generate para crear un par de RSA keys que utilizará con el programa para víncularse al servidor de repositorio de electrónica.
Al igual que al configurar Git en el terminal, copiar la llave pública usando el botón con ícono de portapapeles y dirigirse a la configuración de su usuario de Git Elo, a la sección SSH Keys y allí proceda a registrar la clave copiada.
Terminando este paso, el programa ya está preparado para trabajar con sus repositorio remotos del Git de electrónica.
Inicializar Repositorio Local
La versión gratuita de Git Kraken no permite la inicialización de repositorios remotos de servidores GitLab con alojamiento propio. Sin embargo, si permite abrir estos repositorios si ya han sido inicializado anteriormente.
Por lo tanto, se procede a inicializar el repositorio local y víncularlo con el repositorio remoto utilizando Git en el terminal. Para recordar como realizar eso, referirse a la sección Ayuda Git.
Inicializado y vínculado el repositorio, volver a la ventana principal de Git Kraken y seleccionar el botón Open a repo.
Seleccionar la opción Open a Repository y la ventana desplegada, navegar en su ordenador hasta llegar a la carpeta donde inicializó su repositorio. Clickear la carpeta y presionar el botón Seleccionar carpeta.
Realizado esto, se desplegará la ventana de trabajo de Git Kraken, donde se muestra en el menú izquierdo información sobre los repositorios, el stash, los tags y otros; en el menú derecho se muestra información sobre los commits; y en la sección central se muestra el historial de los commits realizados y su distribución entre los branches.
Ahora ya puede volver a su carpeta de trabajo y editar los archivos de su proyecto con toda libertad.
Subir Cambios a Repositorio Remoto
Cuando tenga nuevos archivos o cambios significativos para ser llevados al área de preparación o al repositorio remoto, vuelva a la ventana de trabajo de Git Kraken.
Se mostrará sobre su último commit una circunferencia de linea intermitente con un rótulo a la derecha con leyenda //WIP. Esto indica que el programa reconoció los cambios realizados y es capaz de trabajar con ellos.
Seleccione el botón View change para desplegar la siguiente ventana de información.
Se mostrarán 3 ventanas distintas. La primera lista los cambios que no han sido llevados al área de preparación. La segunda muestra los cambios que se encuentran en el área de preparación y la tercera permite el ingreso del mensaje del commit a realizar.
Para preparar todos los cambios realizados a un archivo, buscar dicho archivo y presionar el botón derecho que dice Stage File. O bien, si desea incorporar rápidamente todos los cambios de todos los archivos, puede seleccionar el botón superior Stage all changes.
Complete el área del mensaje del commit y proceda a clickear el botón Commit changes to n files.
Con esto se actualizará la ventana central, indicando que el repositorio local (símbolo de un laptop) ahora se encuentra en la versión del último commit ingresado. Para llevar los cambios al repositorio remoto, ir al menú superior y clickear Push y luego el botón Submit.
Una vez finalizada la operación, se presentará un pop up indicando el éxito o fracaso de la operación.
Puede verificar este procedimiento accediendo a la web de Git Elo, selecionando el proyecto de trabajo y viendo la actividad de éste.
Subir Cambios a Repositorio Remoto de Forma Parcial
Cuando se realizan actualizaciones de archivos que se encuentran en el repositorio remoto, se puede hacer uso de una funcionalidad adicional de la vista diferencial para la preparación de archivos.
Siguiendo el trabajo con los archivos del ejemplo anterior, se eliminan todos los comentarios del archivo HelloWorld.java.
Se ingresa a la vista diferencial haciendo click en el archivo modificado en la ventana de archivos no preparados y se puede visualizar con color rojo las líneas que han sido eliminadas. Además, ahora al pasar el mouse por el lado izquierdo del texto, aparecen símbolos +, que permiten ingresar exclusivamente el cambio realizado en dicha linea. Realizar dicha acción llevará el cambio en la linea al área de preparación y dejará la pantalla mostrada.
En el ejemplo, nos arrepentimos y decidimos mantener las instrucciones de compilación y ejecución. Por lo tanto, solo dejamos esas lineas sin añadir.
Al visualizar el area de preparación, se puede apreciar los cambios selecionados de la etapa anterior y además, se nos permite eliminar los cambios con el signo - que aparece en el lado izquierdo, antes de cada fila. Para que efectivamente sean comentarios las instruciones de compilación y ejecución, estas filas deben estar entre lineas y asteriscos, por lo que se revierte el cambio que las eliminaba.
Con algunos cambios preparados y otros de ellos sin ser considerados, se procede a redactar el mensaje del commit y se realiza el commit en sí.
Visualizamos el archivo resultante en la web del repositorio remoto y se obtienen los resultados deseados.
Eliminar Cambios en Repositorio Local
En el caso de que realice varios cambios a un archivo con respecto al commit actual del repositorio local, pero se percata de que ya no son necesarios o no funcionan por una sintaxis incorrecta, Git entrega una herramienta que permite descartar todos los cambios actuales con respecto al commit actual.
Dicha opción se encuentra en la parte superior del menú de las áreas de preparación, en un botón con ícono de bote de basura, que despliega el texto Discard all changes.
Se solicitará una confirmación, la cual se otorga con el botón Reset All y así se revierten todos los cambios realizado en el repositorio local, quedando igual al último commit realizado.
Llevar Repositorio Local a Commit Anterior
En el caso de querer recuperar información o archivos de commits anteriores, es posible llevar al repositorio local al estado de dicho commit. Para ello buscar el commit deseado en la sección central de la ventana de trabajo, utilizar el click derecho para desplegar un menú e ir al menú Reset this_branch to this commit y allí seleccionar una de las opciones. La más habitual es hard, ya que se asegura de eliminar todos los cambios efectuados después de dicho commit.
Efectuado el comando, se puede apreciar que el puntero del repositorio local se ubica en el commit selecionado y al inspeccionar los archivos del repositorio, podemos encontrarlos en el estado deseado.
En el ejemplo utilizado, se puede ver que el archivo HelloWorld.java se encuentra con todo el comentario de la versión original.
Descargar Cambios en Repositorio Remoto a Repositorio Local
En el caso de ver cambios en el repositorio remoto y querer replicarlos en el repositorio local, basta con utilizar el botón Pull que se encuentra en la barra de menú horizontal superior.
Con ello ya se actualiza el repositorio local.
Crear Tag
Para generar un tag, se elige el commit donde se aplicará y se despliega un menú con click derecho y se selecciona la opción Create tag here.
Se abrirá una casilla donde se puede escribir el rótulo del tag y al terminar de llenarlo, presionar la tecla Enter para terminar la edición.
Terminado ello, se mostrará el tag en un recuadro similar a los de los repositorio, con un icono de una etiqueta, en la ventana central del área de trabajo, junto a los commits.
Información Adicional
Si necesita resolver dudas o desea informarse más sobre Git Kraken, se recomienda visitar la página de soporte oficial de Axosoft.