Bash script: fastcommit
Haz git add, commit y push a master rápidamente
Dejo por aquí un bash script para hacer con Git el stage de todos los cambios que hayan en el espacio de trabajo, commit con el mensaje que queramos y push a master branch, todo de una vez. Yo lo uso para ahorrarme escribir los mismos comandos una y otra vez en pequeños proyectos (los catalanes somos así de agarraos).
Lo de agregarle la comprobación de que se han pasado el número de argumentos correctos y la pijadilla de los colores es algo que he visto en otros scripts y he copiado descaradamente.
¿Cómo funciona?
Copia el código y guárdalo en un nuevo fichero llamado (por ejemplo) fastcommit. Pon el fichero, con permisos de ejecución, en la carpeta raíz de tu proyeto con git. A continuación escribe:
./fastcommit "Mensaje_para_el_commit" # Sólo admite un (1) argumento
El script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env bash
##########################################################
# Stage all, commit and push to master
##########################################################
# Exit on error
set -e
red='\033[01;31m'
blue='\033[01;34m'
green='\033[01;32m'
norm='\033[00m'
EXPECTED_ARGS=1
E_BADARGS=65
if [ $# -ne $EXPECTED_ARGS ]; then
echo -e "\nUsage: $0 \"Commit message\"\n"
exit $E_BADARGS
fi
echo -e "\n${blue}- Staging all changes within the working space${norm}\n${blue}- Commit with the message ${red}${1}${norm}\n${blue}- Pushing to origin, master branch\n${norm}"
git add -A && echo -e "${blue}Stage ---> [${green}OK${blue}]${norm}" || echo -e "${blue}Stage ---> [${red}BAD${blue}]${norm}"
git commit -m "${1}" && echo -e "${blue}Commit ---> [${green}OK${blue}]${norm}" || echo -e "${blue}Commit ---> [${red}BAD${blue}]${norm}"
git push origin master && echo -e "${blue}Push ---> [${green}OK${blue}]${norm}" || echo -e "${blue}Push ---> [${red}BAD${blue}]${norm}"
echo -e " "
exit 0
Aviso probablemente innecesario
No me hago responsable de los daños causados por el uso de este script, incluyendo, aunque no de forma exclusiva: que no funcione, que te explote el PC, que haga algo que no te guste, que te perjudique algún fichero, que te abduzcan los extraterrestres, que invoque a un espíritu del averno o que te deje tu pareja.
Como norma general, no ejecutes nada sin saber previamente lo que hace. Aún menos si te lo pide alguien por internet.