100 lines
2.6 KiB
Markdown
100 lines
2.6 KiB
Markdown
# 🚀 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
|
|
|
|
```bash
|
|
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
|