Пока ничего. Вставьте несколько строк выше и нажмите Сгенерировать.Что он делает с каждой строкой
Правила намеренно простые и видимые, чтобы вы могли предсказать результат, а не угадывать его:
- Conventional commit'ы группируются по типу. `feat` становится Новое, `fix` становится Исправлено, `perf` становится Улучшено. `!` перед двоеточием, или маркер BREAKING CHANGE, перемещает строку в Критические изменения независимо от её типа.
- Всё, что не является conventional commit'ом, сортируется по первому слову. Add, Added, Introduce и Support становятся Новое; Fix, Fixed и Resolve становятся Исправлено; Improve, Update, Speed и Optimise становятся Улучшено; Remove, Removed, Drop и Deprecate становятся Удалено. Всё остальное попадает в Прочее, чтобы вы отсортировали вручную.
- Шум удаляется: конечный номер pull request'а, строка `Merge pull request ...`, область в скобках и сам префикс типа conventional commit. Оставшееся предложение начинается с заглавной буквы.
- При включённом фильтре строки `chore`, `ci`, `test`, `build`, `style` и `refactor` отбрасываются вместе со всем, что похоже на обновление зависимости. Это единственная самая большая разница между changelog'ом, который люди читают, и тем, который они перестают читать.
Чего он не может
Он переписывает форму ваших сообщений коммитов, а не их содержание. Если коммит говорит `fix: race in MembershipCache.resolve()`, то это и выходит, и это всё ещё предложение о вашем коде, а не об опыте пользователя. Превращение «race in MembershipCache» в «приглашённые участники больше не видят пустую панель» требует знания того, что сделало изменение, а это часть, которую генератор не может вывести из строки темы коммита.
Так что относитесь к результату как к первому проходу: правильная структура, правильная группировка, внутренний шум уже убран, формулировки всё ещё нужно исправить вам.
Частые вопросы
Что-нибудь из того, что я вставляю, загружается куда-то?
Нет. Генератор — это скрипт на этой странице; текст никогда не покидает ваш браузер, и когда вы нажимаете Сгенерировать, к нам не идёт никакого запроса. Вы можете подтвердить это с открытой вкладкой сети.
Должен ли я использовать conventional commits?
Нет. Строки, следующие соглашению, группируются точнее, а всё остальное возвращается к начальному глаголу. Репозиторий с обычными сообщениями коммитов в виде предложений всё равно даёт пригодный черновик.
Как получить это автоматически из моего репозитория?
Для разового использования `git log --pretty=format:%s v1.2.0..HEAD` даёт именно тот ввод, которого это ожидает. Для чего-то непрерывного git-cliff и github-changelog-generator оба строят файл changelog в CI из истории ваших коммитов, а Changeloop составляет ориентированную на пользователя запись на каждый объединённый pull request и удерживает её для проверки.
Почему мой результат полон Прочего?
Начальные глаголы не совпали ни с чем известным, что обычно означает темы коммитов, начинающиеся с существительного или идентификатора тикета. Либо отредактируйте их в поле перед генерацией, либо переместите строки Прочего вручную после.
Дополнительное чтение: от conventional commits к changelog, о том, что даёт формат коммита и где он останавливается.
Версия, которая тоже пишет предложения
Changeloop читает заголовок и описание каждого объединённого pull request'а, а не только строку темы, и составляет запись о том, что изменилось для пользователя. Она сама отфильтровывает обновления зависимостей и рефакторинг, и удерживает каждый черновик для вашего редактирования перед публикацией. Бесплатно для одного репозитория, без карты.
Начать бесплатно