Interfaz gráfica de GIT en SIEMENS.
Tras haber creado nuestro repositorio en el anterior post, vamos a ver como podemos manejarlo y poder sacarle jugo a esta potente herramienta.
Despues de haber seguido el anterior post, tendremos un repositorio local. Con este trabajaremos y muy resumidamente seria como un backup de nuestra programación.
Aunque me parece comodo para algunas cosas, hecho en falta muchos comandos en la interfaz grafica de GIT para TIA PORTAL, en este post vamos a trabajar con la interfaz grafica, pero para el siguiente post usaremos la consola de comandos para que podais ver el verdadero potencial de GIT.
Vamos a ver varios usos de GIT (Interfaz grafica de SIEMENS):
- Exportar e importar cambios localmente.
- Crear un repositorio remoto.
- Exportar e importar cambios remotamente.
EXPORTAR E IMPORTAR CAMBIOS
Para añadir al seguimiento de GIT de un nuevo bloque, abriremos nuestro WorkStation, buscaremos nuestro bloque y lo arrastraremos desde la derecha (nuestro proyecto) hacia la parte izquierda (nuestro repositorio). *Consejo: Si esta dentro de una carpeta, arrastrar la carpeta entera, para que siga el mismo orden de carpetas en el repositorio.
Arrastrando lo que estaremos haciendo es uso de git add
para empezar a hacer el seguimiento de algun bloque.
Al terminar de procesar, hace un commit automatico que nos pide un mensaje, añadimos un mensaje descriptivo de los cambios y listo.
*El commit automatico es por que lo tenemos configurado asi por defecto, si queremos desactivarlo, debemos pinchar boton derecho en algún bloque:
Git > Settings > Commit on VCI synchronize.
Despues de esto, podremos ver que se nos pone en nuestro lado del proyecto un circulo en verde, esto significa que esta haciendo el seguimiento y que no hay cambios desde nuestro último commit en ese bloque.
*Tras hacer un cambio se vera en azul y gris.
Despues de hacer nuestros cambios, tendremos en la columna de accion, 3 posibilidades:
*Podemos ir eligiendo bloque por bloque lo que queremos hacer.
- Exportar a nuestro repositorio: Esto seria hacer un commit/guardado de nuestro software en nuestro repositorio.
- Importar desde nuestro repositorio: Anular los cambios que hemos hecho en el proyecto.
- Ninguna accion: Dejamos las diferencias, esto nos puede servir para hacer varios commits diferentes, con diferentes descripciones, fechas etc.
Con esto, ya podremos ir haciendo commits segun necesitemos y mas adelante podremos recuperar si necesitaramos alguno de ellos.
REPOSITORIO REMOTO
¿Por qué Trabajar con un Repositorio Remoto?
En lugar de mantener copias locales de tus versiones de proyecto, a veces es conveniente utilizar un servidor remoto. Esto puede ser útil por varias razones, como tener una copia de seguridad en otro ordenador o permitir que varias personas trabajen en el proyecto simultáneamente.
Ventajas del Repositorio Remoto
- Copia de Seguridad: Mantener una copia del proyecto en un servidor remoto asegura que los datos estén respaldados en caso de fallos en el equipo local.
- Colaboración: Permite que varios programadores trabajen juntos. Los cambios se pueden enviar (push) al repositorio remoto y descargar (pull) a otros equipos para mantener todos los proyectos sincronizados.
Flujo de Trabajo
- Asociar Git Local a Remoto: Configura tu repositorio local para que se conecte a un servidor remoto.
- Enviar Cambios: Cada vez que realices un commit, publica los cambios en el servidor remoto usando
git push
. - Recibir Cambios: Si otros desarrolladores han subido cambios, usa
git pull
para actualizar tu repositorio local con las últimas modificaciones.
Ejemplo de Colaboración
- Programador 1: Realiza cambios en el proyecto y los sube al repositorio remoto (
git push
). - Programador 2: Descarga esos cambios a su ordenador (
git pull
) para tener la versión más actualizada. - Programador 2: Realiza nuevos cambios y los sube al repositorio remoto.
- Programador 1: Descarga los nuevos cambios para mantenerse sincronizado.
Git maneja estas operaciones de manera eficiente para evitar que un programador sobrescriba el trabajo de otro, gestionando las fusiones y conflictos de manera automatizada.
Configurar repositorio remoto
Para ello nos hara falta, primero y primordial, un servidor remoto donde guardar los datos, puede ser nuestro con herramientas como Bonobo Git Server o puede ser en la nube o servidor de un tercero como GitHub.
En nuestro caso lo haremos con GitHub.
- Abrimos nuestra cuenta de GitHub y creamos nuestro repositorio.
- Copiamos el link que nos aparece en nuestro repositorio.
- Accedemos a la consola de comandos y ejecutamos el siguiente comando
git remote add origin "URL de nuestro github"
.
- Despues de esto, tendremos que añadir nuestro repositorio local a nuestro repositorio remoto, esto se hace con el siguiente comando
git push --set-upstream origin master
. - Para finalizar, nos pedira una verificacion y probablemente tengamos que iniciar sesion en nuestro GITHUB.
Tras haber hecho todo esto, podreis ver en la siguiente imagen nuestro repositorio de forma remota, tras esto ya tendriamos un respaldo en otro servidor y ya podriamos tirar nuestro ordenador por la ventana 😀 .
EXPORTAR E IMPORTAR EN NUESTRO REPOSITORIO REMOTO
Para terminar, desde nuestro TIA PORTAL podemos sincronizar nuestros repositorios:
- Push: Sincronizacion de nuestro repositorio con el repositorio remoto.
- Pull: Sincronizacion del repositorio remoto con nuestro repositorio local.
Tambien podemos configurar para que cada vez que hagamos un commit, se haga un push automaticamente hacia nuestro repositorio remoto.
Una vez que todo esté configurado a nuestro gusto, contaremos con un repositorio local y un respaldo en nuestro repositorio remoto. Esto nos permitirá experimentar y cometer errores sin preocupaciones, ya que, si en algún momento algo sale mal en nuestro repositorio local, podremos clonar el repositorio completo con todos nuestros commits utilizando git clone
.
Hasta ahora hemos aprendido cómo respaldar todos los cambios que hemos realizado, pero aún no hemos visto cómo restaurar ni comparar datos. En el próximo post, exploraremos cómo recuperar commits, compararlos con el programa actual o con otros commits, y veremos otro uso bastante común y útil cuando se hacen grandes cambios en el código.
Espero que os sirva de ayuda.