¿Git commit usando stdout de bash?

¿Git commit usando stdout de bash?

¿Es posible utilizar un mensaje de confirmación desde la salida estándar, como:

echo "Test commit" | git commit -

También intenté repetir el contenido del mensaje .git/COMMIT_EDITMSG, pero luego ejecutar git commitme pediría agregar cambios en el archivo mencionado.

Respuesta1

Puedes usar la -F <file>, --file=<file>opción.

echo "Test commit" | git commit -F -

Su uso se describe en la página de manual para git commit:

Tome el mensaje de confirmación del archivo proporcionado. Utilice - para leer el mensaje de la entrada estándar.

Respuesta2

Siempre puedes escribir una pequeña función para ello:

gcm(){ 
    read message
    git commit -m "$message" "$@"
}

Agregue eso a su ~/.bashrcshell o equivalente y luego ejecute:

echo "Test commit" | gcm filename.to.commit

El comando anterior se ejecutará

git commit -m "Test commit" filename.to.commit

información relacionada