Skip to content

Instantly share code, notes, and snippets.

@son-link
Created March 28, 2011 17:37
  • Star 16 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save son-link/890903 to your computer and use it in GitHub Desktop.
Script para automatizar la actualización de un repositorio git
#!/bin/bash
# UpToGit 0.1
# Actualiza facilmente tu repositorio Git
# (CC) 2011 Alfonso Saavedra "Son Link"
# http://sonlinkblog.blogspot.com
# Bajo licencia GNU/GPL
# Modo de uso: copia o mueve este script a /usr/bin o /usr/local/bin y desde el directorio donde se encuentre la copia de un repo git, ejecútalo de esta manera:
# uptogit <ficheros>
# Comprobamos si el directorio en el que estamos es de un repositorio git
if [ ! -d '.git' ]; then
echo 'Esta carpeta no contiene un repositorio Git'
exit -1
fi
# Ahora comprobamos si se le paso algun parametro
if [ $# == 0 ]; then
echo "UpToGit: ¡Error! No se le a pasado ningún parámetro"
echo "uptogit fichero1 fichero2 ... ficheroN"
exit -1
else
# Recorremos los parametros para comprobar si son ficheros o directorios
for file in $*; do
if [ ! -e $file ]; then
echo "UpToGit: El archivo o directorio $file no existe"
exit -1
fi
done
# Si llegamos hasta aquí, indicamos a Git los archivos a subir
git add $*
# Esto nos pedira el mensaje del commit
echo "Introduce el mensaje del commit:"
read TXT
git commit -m "$TXT"
# Y terminamos subiendo los archivos
git push origin master
fi
@rral0
Copy link

rral0 commented Jun 9, 2016

Excelente el script, lo acabo de probar pero en gitlab y funciona perfecto. Saludos!

@maxalmonte14
Copy link

Pues justo hoy se me ocurrió que debería hacer un script para automatizar mis commits en Git, pero antes decidí hacer una búsqueda en Google y pues, terminé aquí.

@javierkindall
Copy link

Tengo una pregunta... ¿bajo qué extensión guardo este script?

@librenauta
Copy link

Tengo una pregunta... ¿bajo qué extensión guardo este script?

guardalo .sh

@Ems737
Copy link

Ems737 commented Aug 24, 2020

Gracias!... Probando!

@ismagc7
Copy link

ismagc7 commented Jan 19, 2021

Muy bueno! Yo personalmente añadiría esto al final:
echo "Introduce la rama donde quieres subirlo"
read BRANCH
if [ $(git checkout $BRANCH) -eq 0 ]; then
git push origin $BRANCH
else
echo "La rama no existe"
fi

@dcaime-iol
Copy link

muy bueno, me gustaria uno para hacer pull a todos los fuentes que tengo

@Fran1763
Copy link

Fran1763 commented Mar 2, 2023

Es posible automatizar el script de forma que tras hacer el git push, automaticamente introduzca nuestro usuario y contraseña??

@K1000-O
Copy link

K1000-O commented Mar 2, 2023

Es posible automatizar el script de forma que tras hacer el git push, automaticamente introduzca nuestro usuario y contraseña??

Puedes hacer que se guarde en caché durante un tiempo determinado para que no te esté pidiendo constantemente el usuario y contraseña:
git config --global credential.helper 'cache --timeout=3600'

@DilanAguilar
Copy link

Disculpen, es posible hacer un commit en por ej. Repositorio1 y que automáticamente se pueda hacer la actualización en otro repositorio ej. Repositorio2?

@ismagc7
Copy link

ismagc7 commented Oct 30, 2023

Disculpen, es posible hacer un commit en por ej. Repositorio1 y que automáticamente se pueda hacer la actualización en otro repositorio ej. Repositorio2?

Actualmente no tiene esa funcionalidad, se puede hacer para tenerla

@DilanAguilar
Copy link

Seria similar al script de arriba?

@ismagc7
Copy link

ismagc7 commented Oct 30, 2023

Seria similar al script de arriba?

seria algo parecido como añadir un:

git remote set-url --add --push origin git://original/repo.git
git remote set-url --add --push origin git://another/repo.git

entonces al pushear subiria a los dos

Te dejo aqui la solución: https://stackoverflow.com/questions/14290113/git-pushing-code-to-two-remotes/14290145#14290145

@DilanAguilar
Copy link

Y se puede guardar esa configuración de comandos?

Contexto: Lo que quisiera poder lograr es que al momento de clonar un repositorio se guarden las "x" cantidades de repositorios guardados de esa manera (git remote set-url --add --push origin git://another/repo.git), mas que nada para que cuando otra persona quiera trabajar con este proyecto se ahorre el ingresar esos comandos y ya solo clone el repo y haga el commit y push.

@ismagc7

@DilanAguilar
Copy link

Por ejemplo

Yo trabaje en un proyecto donde utilice los (git remote set-url --add --push origin git://another/repo.git), y agregue 3 repositorios de esa manera para poder hacer un solo commit para los tres repositorios

lo que quisiera es que cuando otra persona quiera trabajar de esa misma manera solo tenga que clonar el repositorio y de alguna manera se pueda guardar esos 3 repositorios que yo agregue anteriormente, para que solo tenga que hacer el commit y el push.

@ismagc7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment