# 🧠 git-subir — Instalador autosuficiente para subir cambios vía Git con autenticación segura Este proyecto instala el comando `git subir`, que encapsula `git push` con autenticación segura, tolerancia a errores y configuración automática del entorno. Está diseñado para entornos reales, con portabilidad, robustez y experiencia de usuario optimizada. --- ## ✅ Funcionalidades incluidas | Funcionalidad | Estado | |---------------|--------| | Solicitud y validación de credenciales | ✅ | | Cifrado con OpenSSL (AES-256-CBC + PBKDF2) | ✅ | | Cambio de contraseña de cifrado (`--cambiar-clave`) | ✅ | | Reconfiguración completa (`--reconfigurar`) | ✅ | | Generación automática del script `git-subir` | ✅ | | Instalación en `~/.local/bin` | ✅ | | Alias `git subir` vía `git config --global` | ✅ | | Verificación y corrección de `$PATH` | ✅ | | Inicialización de repositorio si no existe | ✅ | | Configuración automática de upstream | ✅ | | Mensajes claros y tolerancia a errores | ✅ | --- ## 📦 Requisitos - Git instalado y accesible desde la terminal - `curl` para validación de credenciales vía API - `openssl` para cifrado seguro (AES-256-CBC + PBKDF2) - Shell compatible (`bash` o `zsh`) - Acceso a la API de Gitea (o compatible con GitHub/GitLab si se adapta el endpoint) --- ## 🚀 Instalación 1. Cloná el repositorio o descargá el script `instalar-subir.sh` 2. Ejecutá el instalador: ```bash chmod +x instalar-subir.sh ./instalar-subir.sh # 🧠 git-subir — Instalador autosuficiente para subir cambios vía Git con autenticación segura Este proyecto instala el comando `git subir`, que encapsula `git push` con autenticación segura, tolerancia a errores y configuración automática del entorno. Está diseñado para entornos reales, con portabilidad, robustez y experiencia de usuario optimizada. --- ## ✅ Funcionalidades incluidas | Funcionalidad | Estado | |---------------|--------| | Solicitud y validación de credenciales | ✅ | | Cifrado con OpenSSL (AES-256-CBC + PBKDF2) | ✅ | | Cambio de contraseña de cifrado (`--cambiar-clave`) | ✅ | | Reconfiguración completa (`--reconfigurar`) | ✅ | | Generación automática del script `git-subir` | ✅ | | Instalación en `~/.local/bin` | ✅ | | Alias `git subir` vía `git config --global` | ✅ | | Verificación y corrección de `$PATH` | ✅ | | Inicialización de repositorio si no existe | ✅ | | Configuración automática de upstream | ✅ | | Mensajes claros y tolerancia a errores | ✅ | --- ## 📦 Requisitos - Git instalado y accesible desde la terminal - `curl` para validación de credenciales vía API - `openssl` para cifrado seguro (AES-256-CBC + PBKDF2) - Shell compatible (`bash` o `zsh`) - Acceso a la API de Gitea (o compatible con GitHub/GitLab si se adapta el endpoint) --- ## 🚀 Instalación 1. Cloná el repositorio o descargá el script `instalar-subir.sh` 2. Ejecutá el instalador: ```bash chmod +x instalar-subir.sh ./instalar-subir.sh source ~/.bashrc # o ~/.zshrc según tu shell Uso bash git subir Sube los cambios al remoto configurado, validando credenciales y configurando upstream si es necesario. Opciones avanzadas bash git subir --reconfigurar 🔄 Permite cambiar usuario, token, URL y contraseña de cifrado. bash git subir --cambiar-clave 🔐 Cambia solo la contraseña de cifrado sin tocar usuario/token. 🔐 Seguridad Las credenciales se cifran con AES-256-CBC + PBKDF2 usando OpenSSL El archivo de configuración se guarda en ~/.config/git-subir.conf La contraseña de cifrado nunca se guarda, se solicita en cada ejecución El script tolera errores de autenticación, PATH, upstream y configuración 📁 Desinstalación Si querés eliminar todo: bash rm ~/.local/bin/git-subir git config --global --unset alias.subir rm ~/.config/git-subir.conf 🧪 Estado del proyecto Listo para producción. Validado en entornos bash, zsh, root, y con múltiples configuraciones de Git. Diseñado para ser portable, seguro y fácil de mantener.