Files
git-operaciones/README.md

2.6 KiB

🚀 git-subir

Script CLI para automatizar el push de cambios a repositorios Gitea con autenticación segura, configuración automática de remotos, commits interactivos, recuperación ante errores y cifrado opcional de credenciales.


📦 Archivos incluidos

Archivo Descripción
instalar-subir.sh Instalador interactivo que configura credenciales, instala el comando global git-subir y valida entorno.
git-subir Script principal que automatiza el flujo de push, commits, configuración de remotos y recuperación ante errores.
desinstalar-subir.sh Elimina el binario instalado y la configuración/credenciales guardadas.

🔧 Requisitos

  • Bash 4+
  • Git instalado y configurado
  • curl, jq, openssl disponibles en el sistema
  • Acceso a un servidor Gitea con token o usuario/contraseña válidos
  • Carpeta ~/.local/bin incluida en el $PATH

🧪 Instalación

chmod +x instalar-subir.sh
./instalar-subir.sh

Durante la instalación se te pedirá:

URL base del servidor Gitea (ej: https://gitea.midominio.com)

Usuario y contraseña o token

Si querés cifrar las credenciales (usando AES-256-CBC con PBKDF2)

Confirmación para instalar git-subir como comando global

El script valida las credenciales contra la API de Gitea antes de continuar.

🚀 Uso
Una vez instalado, podés usar git-subir desde cualquier repositorio git:

bash
git-subir
El script realiza:

Carga y descifrado de credenciales (si están cifradas)

Verificación de cambios sin commitear

Commit automático si lo autorizás

Verificación de configuración del remote origin

Push al repositorio remoto

Si el push falla, intenta git pull --rebase y reintenta

🔁 Reconfigurar credenciales
Podés ejecutar:

bash
git-subir --reconfigurar
Esto permite:

Cambiar usuario/contraseña o token

Elegir si querés cifrar o guardar en texto plano

Validar nuevamente contra la API

Reescribir la configuración en ~/.config/git-subir/

🔐 Seguridad
Cifrado con openssl usando AES-256-CBC y derivación PBKDF2

La contraseña de cifrado nunca se guarda

Los archivos se almacenan en ~/.config/git-subir/ para mantener orden

El binario se instala en ~/.local/bin/git-subir para uso global

🧹 Desinstalación
bash
chmod +x desinstalar-subir.sh
./desinstalar-subir.sh
Esto elimina:

El binario git-subir de ~/.local/bin

Las credenciales y configuración de ~/.config/git-subir

🧠 Autor
Nahuel Baglietto