Как зафиксировать изменения с "сообщением" и "описанием" из командной строки?

Я новичок как для git, так и для GitHub. Мне удалось настроить все локально на моем Mac, так что теперь я могу нажать на GitHub через git (в командной строке, а не в приложении Mac).

Когда я нажимаю фиксацию непосредственно из веб-интерфейса GitHub (например, быстро исправляя опечатку), у меня есть возможность "комментировать" фиксацию, а GitHub дает мне заголовок фиксации и описание фиксации. Я считаю это очень полезным.

Тем не менее, когда я git push с локальной машины, git открывает мой редактор по умолчанию: поэтому я пишу комментарий коммита, а затем GitHub автоматически делит его на заголовок и "тело". Есть ли способ довольно комментировать коммиты с терминала тоже?

Ответ 1

Существует еще один прямой и более понятный способ

git commit -m "Title" -m "Description ..........";

Ответ 2

Используйте команду git commit без каких-либо флагов. Просто git commit. Затем редактор Vim откроет

введите описание изображения здесь

Чтобы начать ввод, нажмите клавишу Insert на клавиатуре, и теперь вы можете создать лучшую фиксацию с описанием, как вы хотите. Например

введите описание изображения здесь

После того, как вы написали все, что вам нужно, вам нужно вернуться в нормальный режим, для этого нажмите клавишу Esc. Теперь закройте редактор Vim с сохранением изменений, набрав на клавиатуре :wq (w - write, q - quit)

введите описание изображения здесь

и нажмите Enter.

В GitHub это фиксация будет выглядеть следующим образом:

введите описание изображения здесь

Ответ 3

git commit -a -m "Your commit message here"

быстро зафиксирует все изменения с сообщением фиксации. Git commit "title" и "description" (как вы их называете) - это не что иное, как только первая строка, а остальные строки в сообщении фиксации, обычно разделенные пустой строкой, по соглашению. Таким образом, используя эту команду, вы просто зафиксируете "заголовок" и не будете описывать.

Если вы хотите зафиксировать более длинное сообщение, вы можете сделать это но это зависит от того, какую оболочку вы используете.

В bash быстрый способ:

git commit -a -m $'Commit title\n\nRest of commit message...'

Ответ 4

Если вы хотите улучшить сообщение фиксации заголовком и телом после создания коммита, вы можете изменить его. Этот подход более полезен, потому что вы знаете, что делает код только после его написания.

git rebase -i origin/master

Затем ваши коммиты появятся:

pick e152ce2 Update framework
pick ffcf91e Some magic
pick fa672e1 Update comments

Выберите фиксацию, которую хотите переписать и сохранить.

pick e152ce2 Update framework
reword ffcf91e Some magic
pick fa672e1 Update comments

Теперь у вас есть возможность добавить заголовок и тело, где первая строка будет заголовком.

Create perpetuum mobile

Redesign laws of physics with a pinch of imagination. Open a wormhole in 23 dimensions. Add protection to avoid high instability.