>_ IzzyLab

Практическое задание

Собери релиз-заметку из истории

средне

Нужна changelog-заметка. Из репозитория /root/project выгрузи сообщения всех коммитов (по одному на строку, без хешей и дат) в файл /root/changelog.txt, самый свежий — сверху.

Что потренируешь:
  • git log
  • форматирование вывода
  • плейсхолдеры коммита
  • перенаправление вывода
  • changelog

Разбор темы

Команда git log умеет не только печатать историю в дефолтном многострочном виде, но и форматировать каждый коммит по заданному шаблону через опцию --pretty=format:'...'. Внутри шаблона живут плейсхолдеры (%-последовательности), каждый из которых подставляет свою часть коммита: хеш, автора, дату, заголовок, тело. Чтобы собрать changelog, нужно оставить только заголовок (subject) каждого коммита — тогда получится по строке на коммит. Порядок git log уже от нового к старому, а вывод перенаправляется в файл оператором >.

Что проверяется

  1. в changelog 3 строки
  2. свежий коммит сверху
  3. в changelog только сообщения, без хешей

Как это выглядит