Título: Git Update Manager en Batch Publicado por: profinet en 20 Noviembre 2023, 23:02 pm ¡Hola comunidad!
Hoy quiero compartir con vosotros un script batch que he creado para simplificar el proceso de actualización de repositorios Git. Este script es especialmente útil si trabajas con varios proyectos y deseas agilizar la tarea de actualizar y sincronizar con un repositorio remoto. Aquí un resumen de su funcionalidad: 1. Validación de parámetros y dependencias, asegurándose de que Git esté instalado. 2. Configuración de variables, incluyendo rutas de directorios y configuraciones generales. 3. Configuración de banderas para determinar la acción a realizar (actualización o mostrar ayuda). 4. Selección del proyecto a actualizar o mostrar la ayuda según el parámetro proporcionado. 5. Mostrar la ayuda si se solicita mediante el parámetro -h. 6. Actualización del proyecto seleccionado: a. Búsqueda del archivo ZIP más reciente en el directorio de proyectos. b. Obtención de la fecha y hora actuales para crear un nuevo branch en Git. c. Limpieza del directorio de destino, conservando el directorio .git. d. Descompresión del último archivo ZIP en el directorio de destino. e. Setup de Git y push de cambios al repositorio remoto. Nota: Este script incluye tres opciones de ejemplo por defecto (-p1, -p2, -p3) para mostrar su funcionalidad. Estas opciones representan proyectos ficticios y repositorios de ejemplo. Estas opciones pueden ser personalizadas o expandidas según las necesidades específicas del usuario. Simplemente modifica las secciones correspondientes del script para reflejar tus proyectos y repositorios reales. Nota: Este script sigue una aproximación de almacenamiento que guarda copias completas del proyecto con cada commit en lugar de almacenar cambios incrementales (diffs). La elección de almacenar copias completas puede resultar en un mayor uso de espacio en comparación con la técnica tradicional de Git, que almacena solo las diferencias entre commits. Sin embargo, esta estrategia se ha adoptado aquí para simplificar la gestión y garantizar que cada respaldo sea un punto coherente y completamente funcional en el tiempo. Nota: La gestión de Git en este script puede no seguir las prácticas más ortodoxas, pero está diseñada para simplificar el proceso de realizar backups periódicos de proyectos en la nube. En lugar de utilizar ramas separadas para cada actualización, se utiliza la fecha y hora actual como parte del nombre de la rama, lo que puede no ser la convención típica de Git. La eliminación y recreación del directorio de destino puede ser considerada una aproximación inusual, pero se ha implementado para garantizar una limpieza completa antes de extraer el último respaldo. En definitiva, este script es una solución práctica para aquellos que buscan una forma rápida y automatizada de mantener respaldos actualizados en un repositorio remoto, aunque puede no seguir las mejores prácticas recomendadas por la comunidad Git. Código: @echo off Título: Re: Git Update Manager en Batch Publicado por: pyxolo en 4 Diciembre 2023, 11:56 am Hola,
¡Está bien! Sin embargo, la parte de configuración de repos la extraería a un fichero .config o .json e implementaría la carga de configuraciones (python + json sería comodísimo). Por otra parte, el usuario no solo debe configurar los repos si no también cambiar los parámetros permitidos !!! Eso no debería ser así, tu script debería cargar las configuraciones permitidas y así definir los parámetros permitidos, para el usuario debería ser transparente. Y lo sé, yo algunas veces también pico script personales y los hago así porque solo los voy a usar yo y me simplifica la tarea, solo quería sacarle punta al código JAJAJA. Un saludo, good work! Título: Re: Git Update Manager en Batch Publicado por: profinet en 21 Diciembre 2023, 19:16 pm ¡Hola! ¡Agradezco mucho tu comentario!
Estoy de acuerdo en que sería beneficioso hacer el script más flexible, permitiendo la carga de configuración directamente desde un archivo .config. Sin embargo, la razón detrás de su diseño actual fue la intención de involucrar al usuario, brindándole la oportunidad de sumergirse en el código y adaptarlo a sus propias necesidades. Esta aproximación tiene un componente didáctico, ¡y además, puede resultar divertido! :xD Adicionalmente, parte de la motivación para crear el script de esta manera fue la necesidad de automatizar la gestión de versiones en mi trabajo. Aunque el código puede ser considerado "guarro", encontré satisfacción en su funcionalidad y decidí compartirlo aquí. Tengo planes de lanzar una actualización con las sugerencias que me has proporcionado. ¡Estoy esperando el momento adecuado, quizás cuando tenga un poco de tiempo libre en el trabajo y nadie esté mirando! En mi ordenador personal, utilizo Parrot OS. :D Título: Re: Git Update Manager en Batch Publicado por: profinet en 26 Diciembre 2023, 16:58 pm ¡Hola a todos!
Solo quería informarles de que he actualizado el código de mi script Git Update Manager. La versión 0.2 (publicada el 2023-12-26) ahora incluye manejo de secciones para la configuración de proyectos. Los usuarios pueden editar directamente el archivo de configuración y pasar el nombre del proyecto como parámetro al llamar al script. * Configuración del fichero gitmgr_config.ini: Para cada proyecto, utiliza una sección [NombreProyecto]. Cierra cada sección con [/NombreProyecto]. Código: [MiProyecto] Ejemplos de Uso: * Imprimir Nombres de Proyectos: Código: gitmgr -f * Crear Nueva Sección de Proyecto: Código: gitmgr -c * Actualización de un Proyecto Específico: Código: gitmgr MiProyecto Espero que encuentren útil esta actualización y que los ejemplos de uso sean claros. Como siempre, estoy abierto a comentarios y sugerencias. Código
|