Fazendo algo como
git commit -m"test\ntest"
não funciona, mas algo como
git commit -m"$(echo -e "test\ntest")"
funciona, mas não é muito bonito. Você configura um git-commitlb
comando no seu PATH
que faz algo como isto:
#!/bin/bash
message=$1
git commit -m"$(echo -e "$message")"
E use-o assim:
git commitlb "line1\nline2\nline3"
Aviso: tenho a sensação de que a convenção geral é ter uma linha de resumo como a primeira linha e, em seguida, duas quebras de linha e, em seguida, uma mensagem estendida na mensagem de confirmação, portanto, fazer algo parecido com isso quebraria essa convenção. Você poderia, é claro, fazer:
git commitlb "line1\n\nline2\nline3"