การแบ่งปันฮุกด้วย Husky
เรียนรู้วิธีแบ่งปันฮุกของ Git ภายในทีมด้วย Husky เพื่อให้ทุกคนเรียกใช้การตรวจสอบแบบเดียวกันโดยอัตโนมัติ
การแบ่งปันฮุกด้วย Husky เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
ปัญหาของฮุกดั้งเดิม
ฮุก Git ดั้งเดิมอยู่ใน .git/hooks ซึ่งไม่ได้ถูกคอมมิตลงในรีโพซิทอรี นั่นหมายความว่าเพื่อนร่วมทีมจะไม่ได้รับฮุกของคุณโดยอัตโนมัติ
Husky คืออะไร
Husky เป็นเครื่องมือยอดนิยมที่จัดเก็บฮุกไว้ภายในรีโพซิทอรีและติดตั้งให้ทุกคน ทำให้ทั้งทีมใช้การตรวจสอบแบบเดียวกัน
การติดตั้ง Husky
เพิ่ม Husky เป็นส่วนพึ่งพาสำหรับการพัฒนาในโครงการ Node.js
npm install --save-dev huskyการเริ่มต้นใช้งาน Husky
คำสั่งเริ่มต้นจะตั้งค่าไดเรกทอรี .husky และกำหนดค่าให้ Git ใช้งานไดเรกทอรีนี้
npx husky initวิธีที่ Husky เปลี่ยนเส้นทางฮุก
Husky กำหนดให้ core.hooksPath ของ Git ชี้ไปยังโฟลเดอร์ .husky ที่ถูกคอมมิต แทนที่จะเป็น .git/hooks
git config core.hooksPath .huskyการเพิ่มฮุกก่อนคอมมิต
สร้างไฟล์ .husky/pre-commit ที่เรียกใช้คำสั่งตรวจรูปแบบโค้ดหรือคำสั่งทดสอบก่อนการคอมมิตแต่ละครั้ง
echo 'npm test' > .husky/pre-commitการคอมมิตฮุก
เนื่องจาก .husky อยู่ภายในรีโพซิทอรี คุณจึงคอมมิตไดเรกทอรีนี้เหมือนไฟล์อื่น ๆ เพื่อนร่วมทีมจะได้รับไฟล์นี้เมื่อดึงการเปลี่ยนแปลงครั้งถัดไป
git add .husky/pre-commit
git commit -m 'Add pre-commit test hook'การเรียกใช้เครื่องมือตรวจรูปแบบโค้ดกับไฟล์ที่จัดเตรียมไว้
ใช้ Husky ร่วมกับ lint-staged เพื่อตรวจสอบเฉพาะไฟล์ที่คุณจัดเตรียมไว้จริง ทำให้การคอมมิตรวดเร็ว
npm install --save-dev lint-stagedการตั้งค่า lint-staged
กำหนดว่าคำสั่งใดจะทำงานกับไฟล์ใดใน package.json
{
'lint-staged': {
'*.js': 'eslint --fix'
}
}ฮุก commit-msg
Husky ยังสามารถบังคับใช้กฎของข้อความคอมมิตได้ โดยใช้ฮุก commit-msg ร่วมกับเครื่องมืออย่าง commitlint
echo 'npx commitlint --edit $1' > .husky/commit-msgการข้ามฮุกเมื่อจำเป็น
ในกรณีฉุกเฉิน คุณสามารถข้ามฮุกด้วย --no-verify ได้ แต่ควรทำให้น้อยครั้ง
git commit --no-verify -m 'WIP'แบบทดสอบสั้น ๆ
ตรวจสอบความเข้าใจของคุณเกี่ยวกับการแบ่งปันฮุกด้วย Husky
สรุป
คุณได้เรียนรู้การแบ่งปันฮุกด้วย Husky:
- ฮุกดั้งเดิมใน
.git/hooksจะไม่ถูกแบ่งปัน - Husky จัดเก็บฮุกไว้ในโฟลเดอร์
.huskyที่ถูกคอมมิต - Husky เปลี่ยนเส้นทาง
core.hooksPath - ใช้ร่วมกับ lint-staged และ commitlint เพื่อตรวจสอบโค้ดของทั้งทีม
คำถามที่พบบ่อย
บทเรียน “การแบ่งปันฮุกด้วย Husky” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การแบ่งปันฮุกด้วย Husky” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การแบ่งปันฮุกด้วย Husky”
เรียนรู้วิธีแบ่งปันฮุกของ Git ภายในทีมด้วย Husky เพื่อให้ทุกคนเรียกใช้การตรวจสอบแบบเดียวกันโดยอัตโนมัติ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การแบ่งปันฮุกด้วย Husky” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ทำความเข้าใจ Git Hooks
- Hooks ก่อนคอมมิตและหลังผสาน
- การปรับแต่งการกำหนดค่า Git
- การแบ่งปันฮุกด้วย Husky