Como automatizar tarefas git que requerem uma mensagem de commit?

1

Estou escrevendo um script para automatizar uma tarefa do Git. Fazendo isso manualmente, existem 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 esses pressionamentos de tecla do meu script, mas apenas se o vim abrir? Alternativamente, existe uma maneira de evitar a abertura do vim em primeiro lugar?

Estou usando o tcsh.

    
por JETM 31.01.2017 / 18:52

1 resposta

2

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

Uma opção para isso é fazer uso da opção --message=<message> (ou -m <message> , abreviando) para git subtree pull . A desvantagem é que você não pode usar a mensagem padrão fornecida pelo git e, em vez disso, tem que 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 que faz usar a mensagem padrão é mudar o "editor" que o git abre para o cat. Apenas lembre-se de voltar 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 confirmação padrão estiver vazia, como é típico ao fazer um git commit simples.

    
por 31.01.2017 / 21:32

Tags