Внесение изменений в проект
Основной процесс
В процессе внесения изменений в модуль принимает участие несколько человек:
- Contributor - непосредственно вносит изменения.
- Maintainer - отвечает за качество модуля - проводит ревью изменений, выпускает новую версию пакета.
Оформление коммитов
Contributor при оформлении коммитов должен учесть следующие требования:
- Название коммита должно соответствовать conventional commits. Разрешенные префиксы:
chore:
,fix:
,feat:
,deps:
,fixup!
. - Коммит должен содержать законченную функциональность.
Модуль должен сохранять рабочее состояние в рамках каждого коммита (не только в рамках всего пулл реквеста). - Коммит должен содержать единственную функциональность.
Если пулл реквест модифицирует несколько функциональностей, они должны быть разбиты на отдельные коммиты. - При исправлении замечаний к пулл реквесту contributor создает дополнительный коммиты с префиксом
fixup!
и указание sha исправляемого коммита.
Оформление пулл реквеста
Contributor при оформлении пулл реквеста должен учесть следующие требования:
- Название пулл реквеста должно отражать суть вносимых изменений.
В случае если пулл реквест состоит из одного коммита - название пулл реквеста это имя коммита без conventional префикса. - В пулл реквесте присутствует дополнительное объяснение вносимых изменений.
В случае исправления ошибки - ссылка на соответствующий issue или описание ошибки.
В случае добавления функциональности - описание функциональности, ссылка на связанный коммит в документацию.
В случае визуальных изменений скриншот или видео до/после. - После того, как maintainer принимает пулл реквест, в случае, если были созданы коммиты с префиксов
fixup!
, необходимо провести ручной rebase с флагом--autosquash
, чтобы объединить исправления в оригинальные коммиты.
Была ли статья полезна?
Предыдущая
Следующая