Como automatizar tarefas git que requerem uma mensagem de commit?

Como automatizar tarefas git que requerem uma mensagem de commit?

Estou escrevendo um script para automatizar uma tarefa Git. Fazendo isso manualmente, há alguns pontos onde o git abre o vim para editar uma mensagem de commit, e eu tenho que digitar :wq. Existe uma maneira de pré-enviar essas teclas do meu script, mas somente se o vim abrir? Alternativamente, existe uma maneira de evitar abrir o vim em primeiro lugar?

Estou usando tcsh.

Responder1

Você poderia simplesmente evitar abrir o Vim em primeiro lugar.

Uma opção para isso é usar a opção --message=<message>(ou -m <message>, abreviadamente) para git subtree pull. A desvantagem é que você não pode usar a mensagem padrão fornecida pelo git e, em vez disso, precisa criar a sua própria. A vantagem é que isso deve funcionar em qualquer lugar onde o git precise de uma mensagem de commit.

Outra opção quefazusar a mensagem padrão é alterar o "editor" que o git abre para cat. Apenas lembre-se de alterá-lo imediatamente após:

git config --local core.editor /path/to/cat
git subtree pull --prefix foo/bar/path repo branch --squash
git config --local core.editor /path/to/vim-or-other-editor

A vantagem disso é que você pode usar a mensagem padrão fornecida pelo git. A desvantagem é que isso não funcionará se a mensagem de commit padrão estiver vazia, como é típico ao fazer um arquivo git commit.

informação relacionada