Как я могу заставить сообщения git commit разделяться на несколько строк?

когда я использую git log чтобы проверить мою пояснительную записку фиксации, как

1. what I changed
2. blank line
3. why I changed it

в 3 строки не нравится 1. what i changed 2. blank line 3. why i changed только в 1 строке.

5 ответов


вы просто используете следующую команду:

$ git commit -m "1. what i changed
> 2. blank line
> 3. why i changed"

в вашем терминале просто нажмите "enter" для новой строки. Сообщение фиксации не закончится, пока вы не добавите заключительную цитату. Журнал git будет выглядеть так:

$ git log
commit abcde2f660c707br2d20411581c4183170c3p0c2
Author: Alex Pan <alexpan@stackoverflow.com>
Date:   Tue Apr 28 20:52:44 2015 -0700

    1. what i changed
    2. blank line
    3. why i changed

выдержка из документации

-m <msg>

--message=<msg>

используйте данное в качестве сообщения фиксации. Если задано несколько параметров-m, их значения объединяются в отдельные абзацы.

в вашем случае это именно то, что вы хотите, вставляет пустую строку между первой и второй строк

git commit -m "what I changed" -m "why I changed it"

это полезно, если вы хотите изменить ранее добавленный комментарий


мне намного проще сохранить сообщение фиксации в файл, а затем использовать опцию-F.

пример:

$ cat > /tmp/commit_msg.txt
DE123 bug fix: incorrect fetching of instance details
- fixed this and that
- also did such and such
$ git commit -F /tmp/commit_msg.txt

вы также можете использовать редактор для редактирования файла сообщения перед фиксацией.


описываемый вами многострочный формат рекомендуется использовать с Git (см. обсуждение в документация git commit). Самый простой способ сделать это-использовать git commit без -m и введите сообщение в текстовом редакторе.


вместо использования временного файла при попытке сделать это программно вы можете использовать stdin

git commit -F-

затем напишите сообщение в stdin