67 lines
1.6 KiB
Markdown
67 lines
1.6 KiB
Markdown
# git-subirtodos
|
|
|
|
🚀 Sube automáticamente todos los cambios locales a los repositorios `git` dentro de carpetas `k8s-*`.
|
|
|
|
### ¿Qué hace?
|
|
|
|
Este script busca todas las carpetas que empiecen por `k8s-`, detecta si hay cambios locales sin commitear, y si los hay:
|
|
|
|
1. Añade todos los cambios (`git add .`)
|
|
2. Hace un commit con un mensaje genérico
|
|
3. Ejecuta `git push` al remoto
|
|
|
|
## 1. Crea el script
|
|
Copia este contenido en ~/bin/git-publish (crea la carpeta ~/bin si no existe):
|
|
|
|
#!/bin/bash
|
|
|
|
for dir in k8s-*; do
|
|
if [ -d "$dir/.git" ]; then
|
|
echo "📦 Entrando en $dir"
|
|
cd "$dir"
|
|
|
|
if ! git diff --quiet || ! git diff --cached --quiet; then
|
|
echo "✅ Cambios detectados en $dir. Haciendo commit y push..."
|
|
git add .
|
|
git commit -m "Actualización automática desde git-subirtodos"
|
|
git push
|
|
else
|
|
echo "⚠️ No hay cambios en $dir"
|
|
fi
|
|
|
|
cd ..
|
|
fi
|
|
done
|
|
|
|
Hazlo ejecutable:
|
|
|
|
chmod +x ~/bin/git-subirtodos
|
|
|
|
## 2. Añade ~/bin a tu PATH si no lo tienes
|
|
Edita ~/.bashrc (o ~/.zshrc si usas Zsh) y añade:
|
|
|
|
export PATH="$HOME/bin:$PATH"
|
|
|
|
Y recarga:
|
|
|
|
source ~/.bashrc
|
|
|
|
## Uso
|
|
|
|
./git-subirtodos
|
|
|
|
## Requisitos
|
|
|
|
- Tener permisos de escritura en todos los repositorios `k8s-*`.
|
|
- Estar en una rama con remoto configurado (`origin`).
|
|
- Tener acceso por SSH o con credenciales ya configuradas.
|
|
|
|
## Ejemplo de salida
|
|
tree
|
|
📦 Entrando en k8s-gitea
|
|
✅ Cambios detectados en k8s-gitea. Haciendo commit y push...
|
|
|
|
## Notas
|
|
|
|
- Si no hay cambios, el script te lo indicará.
|
|
- No se realiza `pull`, solo subida. Usa `git-bajartodos` si quieres sincronizar desde remoto. |