se modifica readme
This commit is contained in:
116
README.md
116
README.md
@ -1,55 +1,119 @@
|
||||
# 🛠️ git subir
|
||||
# 🚀 git subir
|
||||
|
||||
Comando personalizado para subir cambios a un repositorio Gitea con autenticación automática, manejo de conflictos y commits interactivos.
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Instalación
|
||||
## 📂 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
|
||||
|
||||
Verifica e instala openssl si falta.
|
||||
Durante la instalación se te pedirá:
|
||||
|
||||
Solicita usuario y token de Gitea.
|
||||
Usuario de Gitea
|
||||
|
||||
Verifica credenciales contra la API.
|
||||
Token o contraseña
|
||||
|
||||
Permite guardar credenciales cifradas o en texto plano.
|
||||
URL base de la API (ej: https://gitea.midominio.org)
|
||||
|
||||
Crea el comando global git subir.
|
||||
Si querés guardar las credenciales cifradas
|
||||
|
||||
Seguridad
|
||||
Las credenciales pueden guardarse cifradas con openssl.
|
||||
Al finalizar, podrás usar el comando:
|
||||
|
||||
Se descifran al ejecutar git subir mediante contraseña.
|
||||
bash
|
||||
git subir
|
||||
|
||||
🧹 Desinstalación
|
||||
bash
|
||||
chmod +x ./desinstalar-subir.sh
|
||||
./desinstalar-subir.sh
|
||||
Elimina el comando, el script y las credenciales.
|
||||
Esto elimina:
|
||||
|
||||
✨ Funcionalidades de git subir
|
||||
Detecta cambios sin commitear y ofrece hacer commit automático.
|
||||
El alias git subir
|
||||
|
||||
Realiza git push con autenticación embebida.
|
||||
El script git-subir.sh
|
||||
|
||||
Si el push falla, intenta git pull --allow-unrelated-histories.
|
||||
Las credenciales guardadas
|
||||
|
||||
Detecta conflictos y ofrece merge automático.
|
||||
🔄 Flujo de uso
|
||||
Ejecutás git subir.
|
||||
|
||||
Muestra mensajes claros y estructurados.
|
||||
El script carga las credenciales (descifradas si están cifradas).
|
||||
|
||||
📦 Requisitos
|
||||
openssl
|
||||
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.
|
||||
Nahuel Baglietto Scripts diseñados para mejorar la experiencia de trabajo con Git y Gitea, priorizando seguridad, automatización y facilidad de uso.
|
||||
|
||||
Código
|
||||
|
||||
---
|
||||
|
||||
¿Querés que también agregue una opción en el instalador para instalar el comando solo
|
||||
🛡️ Licencia
|
||||
Este proyecto puede ser usado, modificado y distribuido libremente bajo los términos que defina su autor.
|
||||
|
Reference in New Issue
Block a user