Самый простой способ сделать это - запустить git commit
без -m
и сообщение.
(git commit -a
ярлык для git add .; git commit
)
Это запустит редактор, в котором можно ввести сообщение фиксации на нескольких строках. Затем вы сохраняете файл и, когда редактор выходит, git commit
продолжает и использует сообщение из файла.
Если вы предпочитаете делать все из одной команды (или вы пишете сценарий, который должен вызывать git commit
, и этот интерактивный способ совершения не является опцией), то вы можете предоставить тему фиксации и тело сообщения фиксации на using the -m
argument two times :
git commit -m "this is the subject" -m "this is the body"
Использование -m
несколько раз в командной строке присоединяет сообщения в виде отдельных пунктов (разделенных пустой строкой). Это отлично работает, чтобы предоставить предмет в качестве аргумента первого -m
и тела сообщения как аргумент второго -m
.
Нет простого способа встраивания новых строк в тело сообщения commit. Используя три или более раза, параметр -m
выдаст сообщение о фиксации, которое содержит пустые строки, и это, вероятно, не то, что вы хотите.
Если вы находитесь на Linux
или macOS
, а у вас есть оболочка выбора bash
, тогда есть уродливый, но рабочий способ написать тело сообщения, содержащее новые строки. Вставьте каждую строчку в кавычки ("
), чтобы позволить им содержать пробелы и присоединяться к строкам с помощью $'\n'
, который является способом записи специальных символов в командной строке (или в скрипте).
Команда выглядит следующим образом:
git commit -m "the subject" -m "the first line"$'\n'"the second line"$'\n'"the third line"
Это разделение на «сюжетной линии» и «тела» осуществляется клиентом, который отображает сообщение фиксации. Первая строка сообщения фиксации будет обычно «субъектом». – Thilo
Как отличить первую и вторую строки? Как я могу использовать редактор? – weaveoftheride
С перерывом. Легче сделать в текстовом редакторе. – Thilo