🚀 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

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.
Description
No description provided
Readme MIT 62 KiB
Languages
Shell 100%