เป็นเครื่องมือและปลั๊กอินนักแต่งเพลงอื่น ๆ อีกมากมายสำหรับจัดการตะขอ Git แต่ข้อเสนอของ Githooks:
githooks tool name-of-the-toolนอกจากนี้ยังสามารถใช้ร่วมกับเครื่องมือตรวจสอบความถูกต้องของ JavaScript เช่น Typicode/Husky หากคุณมีโครงการไฮบริด
composer require --dev wtyd/githooks หมายเหตุ: สำหรับ PHP <8.1 คุณต้องเพิ่มเหตุการณ์ post-update-cmd ถัดไปในส่วน scripts ใน composer.json ของคุณ 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 สำหรับตั้งค่า hook ใด ๆ ที่มีสคริปต์ที่กำหนดเอง ดู Wiki สำหรับข้อมูลเพิ่มเติม เพื่อให้แน่ใจว่าได้รับการกำหนดค่าโดยอัตโนมัติเราสามารถกำหนดค่าคำสั่งในเหตุการณ์ 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ในขณะนี้เครื่องมือที่รองรับคือ:
แต่คุณสามารถตั้งค่าสคริปต์ของคุณเองบนเบ็ด git ใด ๆ
ไฟล์ githooks.yml ถูกแยกออกจากสามส่วน:
ธง execution ถือเป็นวิธีที่ Githooks จะทำงาน:
full (ตัวเลือกเริ่มต้น): เรียกใช้เครื่องมือทั้งหมดที่ตั้งค่ากับเส้นทางทั้งหมดที่กำหนดไว้สำหรับแต่ละเครื่องมือ ตัวอย่างเช่นคุณตั้งค่า PHPCs สำหรับ Run in src และ app Directories commit มีเฉพาะไฟล์ที่แก้ไขจากไดเรกทอรี database PHPCS จะตรวจสอบไดเรกทอรี src และ app แม้ว่าจะไม่มีไฟล์ในไดเรกทอรีเหล่านี้แก้ไขfast : ตัวเลือกนี้เรียกใช้เครื่องมือกับไฟล์ที่แก้ไขโดยการกระทำเท่านั้นgithooks.yml หรือในไฟล์การกำหนดค่าของเครื่องมือ EATH เนื่องจากตัวเลือกนี้เขียนทับ paths คีย์ของเครื่องมือเพื่อให้พวกเขาดำเนินการเฉพาะกับไฟล์ที่แก้ไขเท่านั้น เรียกใช้เครื่องมือหลายอย่างในหลายกระบวนการในเวลาเดียวกัน ( tool all คำสั่ง) จำนวนเริ่มต้นของกระบวนการคือ 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) โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม