Много других инструментов и плагинов композитора для управления git крючком. Но Githooks предлагает:
githooks tool name-of-the-tool .Кроме того, его можно использовать вместе с инструментами проверки JavaScript, такими как TypeCode/Husky, если у вас есть гибридные проекты.
composer require --dev wtyd/githooks Примечание. Для PHP <8.1 вы должны добавить следующее событие post-update-cmd в раздел scripts в вашем composer.json :
"scripts" : {
"post-update-cmd" : [
" Wtyd \ GitHooks \ Utils \ ComposerUpdater::phpOldVersions "
]
} Затем запустите composer update wtyd/githooks .
До версии 2.3.0 использовался метод был PHP72orminorUpdate , но он был устарел и будет удален из версии 3.0.0
Также удобно добавить его к событию post-install-cm чтобы у остальных разработчиков проекта не было проблем со сборкой
"scripts" : {
"post-update-cmd" : " Wtyd \ GitHooks \ Utils \ ComposerUpdater::phpOldVersions " ,
"post-install-cmd" : " Wtyd \ GitHooks \ Utils \ ComposerUpdater::phpOldVersions "
}githooks conf:init . Эта команда создает файл конфигурации в корневом пути ( githooks.yml ). githooks hook . Он копирует сценарий для запуска Githooks на предварительном событии в каталоге .git/hooks . Вы можете, также запустить githooks hook otherHook MyScriptFile.php для установки любого крючка с помощью пользовательского сценария. Смотрите вики для получения дополнительной информации. Чтобы убедиться, что он настроен автоматически, мы можем настроить команду в событиях post-update-cmd и post-install-cmd в файле composer.json (раздел scripts ):
"scripts" : {
"post-update-cmd" : [
" vendor/bin/githooks hook " // or "vendor/bin/githooks hook pre-commit MyScriptFile.php"
],
"post-install-cmd" : [
" vendor/bin/githooks hook "
]
}Когда вы совершаете, все настроенные инструменты проверки кода автоматически запущены. Если ваш код проходит все чеки, Githooks позволяет вам совершать. Если нет, вы должны исправить код и попробовать еще раз:
Вы также можете запускать Githooks, когда захотите. Все инструменты одновременно или один за другим:
githooks tool all # Run all tools
githooks tool phpcs # Run only phpcsВ настоящее время поддерживаемые инструменты:
Но вы можете установить свой собственный скрипт на любой крючок.
Файл githooks.yml разделен на три части:
Флаг execution отмечает, как запускаются Githooks:
full (опция по умолчанию): выполняет всегда все инструменты, установленные на все пути, установленные для каждого инструмента. Например, вы установили PHPC для выполнения в src и каталогах app . Коммит содержит только измененные файлы из каталога database . PHPC проверяют каталоги src и app , даже если файлы в этих каталогах не были изменены.fast : эта опция запускает инструменты только против файлов, измененных Commit.githooks.yml , либо в файле конфигурации инструмента IETH, поскольку эта опция перезаписывает ключевые paths инструментов, чтобы они выполнялись только против измененных файлов. Запустите несколько инструментов в нескольких процессах в одно время ( tool all Command). Количество процессов по умолчанию составляет 1.
Это массив с названием инструментов, которые будут работать Githooks. Название инструментов - их исполняемый файл. Если вы хотите, чтобы все инструменты были выполнены, ключ Tools будет следующим:
Tools :
- phpstan
- security-checker
- parallel-lint
- phpcs
- phpcbf
- phpmd
- phpcpdПорядок, в котором инструменты - это порядок, в котором они будут выполнены.
На следующем шаге вы должны настроить инструменты с тем же именем, что и в ключе инструментов . Например, для SET PHPCS:
phpcs :
executablePath : vendor/bin/phpcs
paths : [src, tests]
ignore : [vendor]
standard : ' PSR12 'Все доступные варианты в вики.
Взносы от других были бы очень оценены! Отправить запрос на развлечение/выпуск. Проверьте все шаги, чтобы сделать это в разделе Wiki, чтобы внести свой вклад. Спасибо!
Лицензия MIT (MIT). Пожалуйста, смотрите файл лицензии для получения дополнительной информации.