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

Можно ли изменить закомментированную часть сообщения git commit по умолчанию? Я хочу добавить немного больше информации о контексте для моих пользователей.

# Please enter the commit message for your changes.
# (Comment lines starting with '#' will not be included)
# Explicit paths specified without -i nor -o; assuming --only paths...
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   test.txt
#

4 ответа

Решение

Вы можете использовать git hooks для этого. Перед тем, как человеку, который хочет зафиксировать изменения, будет показано сообщение о коммите, выполняется сценарий prepare-commit-msg.

Вы можете найти пример сценария prepare-commit-msg в.git/hooks.

Для редактирования сообщения по умолчанию создайте новый файл с именем prepare-commit-msg в папке.git/hooks. Вы можете редактировать сообщение о коммите, используя скрипт:

#!/bin/sh
echo "#Some more info...." >> $1

Переменная $1 хранит путь к файлу сообщения фиксации.

Есть commit.template переменная конфигурации, которая в соответствии с man-страницей git-config(1):

Укажите файл, который будет использоваться в качестве шаблона для новых сообщений фиксации. " ~/ "расширен до значения $HOME и" ~user/ "в домашний каталог указанного пользователя.

Вы можете поместить его в каждый репозиторий (.git/config), пользователь (~/.gitconfig) и система (/etc/gitconfig) конфигурационный файл (ы).

Вот Python Git-Hook для очистки сообщения по умолчанию,
hook: prepare-commit-msg

! / usr / bin / env python
импорт системы
commit_msg_file_path = sys.argv[1]
с открытым (commit_msg_file_path, 'a') в качестве файла:
file.write ('')

Вы можете просто добавить свой текст в метод file.write()

Поместите что-то подобное в .gitconfig( <em>источник</em> ):

      [commit]
  template = ~/myGitMessage.txt

и в содержимом этого файла установите сообщение фиксации по умолчанию.

Другие вопросы по тегам