還有許多其他用於管理git鉤的工具和作曲家插件。但是Githooks提供:
githooks tool name-of-the-tool執行的如何執行QA工具來抽象。此外,如果您有混合項目,則可以與JavaScript驗證工具(如Typicode/Husky)一起使用。
composer require --dev wtyd/githooks注意:對於php <8.1,您必須將下一個post-update-cmd事件添加到composer.json的scripts部分:
"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。此命令在root路徑( githooks.yml )中創建配置文件。 githooks hook 。它將腳本複制在.git/hooks目錄中的預加入事件中的啟動githooks。您也可以運行githooks hook otherHook MyScriptFile.php以設置使用自定義腳本的任何鉤子。有關更多信息,請參見Wiki。為了確保它是自動配置的,我們可以在composer.json文件( scripts部分)的post-update-cmd和post-install-cmd事件中配置命令:
"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目前,受支持的工具是:
但是您可以在任何git鉤上設置自己的腳本。
githooks.yml文件分配在三個部分:
execution標誌標記了Githooks如何運行:
full (默認選項):執行始終針對為每個工具設置的所有路徑設置的所有工具。例如,您將PHPC設置為在src和app Directories中運行。該提交僅包含來自database目錄的修改文件。 PHPC將檢查src和app目錄,即使這些目錄中沒有修改文件。fast :此選項僅針對COMMIT修改的文件運行工具。githooks.yml或Eath工具的配置文件中設置工具的排除,因為此選項覆蓋工具的關鍵paths ,以便僅針對修改的文件執行它們。同時在多個過程中運行多個工具( tool all命令)。默認的進程數為1。
這是一個帶有Githooks將運行的工具名稱的數組。工具的名稱是它們的可執行文件。如果您希望執行所有工具, Tools密鑰將如下:
Tools :
- phpstan
- security-checker
- parallel-lint
- phpcs
- phpcbf
- phpmd
- phpcpd工具的順序是執行它們的順序。
在下一步中,您必須配置具有與工具密鑰相同的名稱的工具。例如,對於設置PHPC:
phpcs :
executablePath : vendor/bin/phpcs
paths : [src, tests]
ignore : [vendor]
standard : ' PSR12 '所有可用選項都在Wiki中。
他人的貢獻將不勝感激!發送拉請請求/問題。在Wiki部分檢查所有步驟以進行貢獻。謝謝!
麻省理工學院許可證(麻省理工學院)。請參閱許可證文件以獲取更多信息。