Files
git-operaciones/README.md
2025-08-16 03:27:56 -03:00

120 lines
3.2 KiB
Markdown

# 🚀 git subir
Comando personalizado para automatizar el push de cambios a un repositorio Gitea. Incluye autenticación segura, commits interactivos, resolución de conflictos y configuración automatizada.
---
## 📂 Archivos incluidos
### `instalar-subir.sh`
Script de instalación que:
- Verifica si `openssl` está instalado (y lo instala si falta).
- Solicita credenciales de Gitea: usuario, token/contraseña y URL base de la API.
- Verifica las credenciales contra la API de Gitea.
- Permite guardar las credenciales cifradas con `openssl` o en texto plano.
- Crea el script principal `git-subir.sh` en `~/.scripts/`.
- Genera un alias global `git subir` disponible en todo el sistema.
### `git-subir.sh`
Script principal que:
- Carga las credenciales (descifrándolas si están cifradas).
- Detecta cambios sin commitear y ofrece hacer commit automático.
- Realiza `git push` con autenticación embebida.
- Si el push falla, intenta `git pull --allow-unrelated-histories`.
- Detecta conflictos y ofrece hacer merge automático.
- Muestra mensajes claros y estructurados para guiar al usuario.
### `desinstalar-subir.sh`
Script de desinstalación que:
- Elimina el alias global `git subir`.
- Borra el script `git-subir.sh`.
- Elimina las credenciales guardadas (cifradas o no).
---
## 🔐 Seguridad
- Las credenciales pueden guardarse cifradas con `openssl` usando una contraseña definida por el usuario.
- El script `git-subir.sh` descifra las credenciales en tiempo de ejecución y las borra inmediatamente después de usarlas.
- Si se elige guardar sin cifrar, se almacenan en `~/.scripts/.env` con permisos restringidos (`chmod 600`).
---
## 📦 Requisitos
- `openssl` (se instala automáticamente si falta)
- Acceso a una instancia de Gitea con API habilitada
- Permisos de escritura en `/usr/local/bin` para crear el alias global
---
## 🧪 Instalación
```bash
chmod +x desinstalar-subir.sh
./instalar-subir.sh
Durante la instalación se te pedirá:
Usuario de Gitea
Token o contraseña
URL base de la API (ej: https://gitea.midominio.org)
Si querés guardar las credenciales cifradas
Al finalizar, podrás usar el comando:
bash
git subir
🧹 Desinstalación
bash
chmod +x ./desinstalar-subir.sh
./desinstalar-subir.sh
Esto elimina:
El alias git subir
El script git-subir.sh
Las credenciales guardadas
🔄 Flujo de uso
Ejecutás git subir.
El script carga las credenciales (descifradas si están cifradas).
Detecta si hay cambios sin commitear:
Si hay, ofrece hacer commit automático.
Intenta hacer git push al repositorio remoto con autenticación embebida.
Si el push falla:
Intenta git pull --allow-unrelated-histories.
Si hay conflictos, los muestra y ofrece hacer merge automático.
Si todo sale bien, muestra 🎉 Push completado.
💡 Ejemplo de uso
bash
git subir
Si hay cambios sin commitear, te preguntará si querés hacer commit.
Si hay conflictos, te preguntará si querés hacer merge automático.
Si todo está limpio, sube los cambios directamente.
🧠 Autor
Nahuel Baglietto Scripts diseñados para mejorar la experiencia de trabajo con Git y Gitea, priorizando seguridad, automatización y facilidad de uso.
🛡️ Licencia
Este proyecto puede ser usado, modificado y distribuido libremente bajo los términos que defina su autor.