Git commit usando stdout do bash?

Git commit usando stdout do bash?

É possível usar uma mensagem de commit do stdout, como:

echo "Test commit" | git commit -

Tentei também ecoar o conteúdo da mensagem .git/COMMIT_EDITMSG, mas a execução git commitpediria para adicionar alterações no arquivo mencionado.

Responder1

Você pode usar a -F <file>, --file=<file>opção.

echo "Test commit" | git commit -F -

Seu uso é descrito na página de manual para git commit:

Pegue a mensagem de commit do arquivo fornecido. Use - para ler a mensagem da entrada padrão.

Responder2

Você sempre pode escrever uma pequena função para isso:

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

Adicione isso ao seu ~/.bashrcshell ou equivalente e execute:

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

O comando acima será executado

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

informação relacionada