потерянное сообщение коммита из-за неудачной перехватки git commit-msg

1

Я использую один из git hooks commit-msg для проверки сообщения фиксации для определенного формата и содержимого.

Тем не менее, всякий раз, когда сообщение о фиксации выходит из строя, я иногда теряю абзац или больше текста из моего сообщения.

Я играл с сохранением его где-то, но я не уверен, как восстановить его для пользователя, когда они пытаются исправить сообщение об ошибке, появляется только последнее сообщение хорошего фиксации.

Кто-нибудь еще занимался этим раньше? Как вы его решили?

Info: Я использую скрипты python для моей проверки.

Теги:
githooks

1 ответ

1
Лучший ответ

Сообщение фиксации сохраняется в .git/COMMIT_EDITMSG. После "неудачной" попытки совершения сделки вы можете запустить:

git commit --edit --file=.git/COMMIT_EDITMSG

или короче, например:

git commit -eF .git/COMMIT_EDITMSG

который загрузит сообщение плохого фиксации в ваш $EDITOR (или редактор, настроенный в вашей конфигурации Git), чтобы вы могли исправить сообщение коммита. Вы также можете настроить псевдоним для вышеперечисленного:

git config --global alias.fix-commit 'commit --edit --file=.git/COMMIT_EDITMSG'

а затем используйте git fix-commit.

  • 0
    Спасибо вам большое! Интегрировал этот псевдоним в мои скрипты и инструкции в сообщение об ошибке. Это работает как шарм.
  • 1
    @MaggieS. Я бы рекомендовал не использовать сам псевдоним в скрипте, чтобы сделать скрипт переносимым и как можно более «абстрактным» - используйте вместо него полную команду. Такие псевдонимы скорее предназначены для интерактивного использования.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню