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