f05e3d20c57271ae0ea1edc8178d491e11bb2e24
🚀 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
Languages
Shell
100%