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.