การพัฒนาโดยยึดสาขาหลัก
สำรวจรูปแบบการพัฒนาโดยยึดสาขาหลัก สาขาอายุสั้น และแฟล็กฟีเจอร์ ซึ่งเป็นทางเลือกน้ำหนักเบาสำหรับ Gitflow
การพัฒนาโดยยึดสาขาหลัก เป็นบทเรียน Git & GitHub Professional Workflow ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Git & GitHub Professional Workflow และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Git & GitHub Professional Workflow มีบทเรียนทั้งหมด 4 บทเรียน
การพัฒนาโดยใช้สายหลักคืออะไร
การพัฒนาโดยใช้สายหลักเป็นกลยุทธ์การแยกสาขาที่นักพัฒนาทุกคนผสานการเปลี่ยนแปลงขนาดเล็กเข้าสู่สาขาที่ใช้ร่วมกันเพียงสาขาเดียว ซึ่งก็คือสายหลัก โดยทั่วไปคือ main และทำเช่นนี้บ่อยครั้ง
แนวทางนี้เน้นการผสานงานเล็ก ๆ จำนวนมาก แทนการใช้สาขาที่มีอายุยาวนาน
เหตุใดจึงควรหลีกเลี่ยงสาขาที่มีอายุยาวนาน
สาขาที่มีอายุหลายสัปดาห์จะเปลี่ยนแปลงแตกต่างจาก main มากขึ้นเรื่อย ๆ ทำให้การผสานเป็นเรื่องยุ่งยาก
- ยิ่งสาขามีอายุนาน ความขัดแย้งก็ยิ่งมาก
- ความเสี่ยงในการผสานรวมจะถูกซ่อนไว้จนถึงช่วงท้าย
- คิวตรวจสอบโค้ดจะพอกพูนจนมีขนาดใหญ่มาก
สาขาอายุสั้น
ในการพัฒนาโดยใช้สายหลัก สาขาจะมีอายุตั้งแต่ไม่กี่ชั่วโมงถึงหนึ่งหรือสองวันแล้วจึงผสานกลับ สร้างสาขา ทำงานเฉพาะด้าน และผสานให้รวดเร็ว
git checkout -b add-login
# small focused change
git commit -m 'Add login button'
git push origin add-loginคอมมิตโดยตรงไปยังสายหลัก
ทีมขนาดเล็กที่มีความเสี่ยงต่ำบางทีมอาจคอมมิตโดยตรงไปยัง main โดยมีด่านตรวจสอบการผสานรวมอย่างต่อเนื่องที่ทำงานรวดเร็ว ทุกคอมมิตต้องทำให้สายหลักพร้อมเผยแพร่เสมอ
git checkout main
git pull --rebase
git commit -m 'Fix typo in footer'
git pushธงความสามารถ
ความสามารถที่ยังไม่เสร็จก็ยังผสานเข้าสายหลักได้ แต่จะถูกซ่อนไว้ด้วยธงความสามารถจนกว่าจะพร้อม วิธีนี้แยกการนำขึ้นระบบออกจากการเผยแพร่ให้ผู้ใช้
if (featureFlags.newCheckout) {
renderNewCheckout();
} else {
renderOldCheckout();
}การผสานรวมอย่างต่อเนื่องเป็นสิ่งจำเป็น
เนื่องจากทุกคนผสานงานเข้าสายหลักอย่างต่อเนื่อง การทดสอบอัตโนมัติทุกครั้งที่ส่งข้อมูลจึงจำเป็น เพื่อให้ main ผ่านการตรวจสอบและพร้อมนำขึ้นระบบอยู่เสมอ
การพัฒนาโดยใช้สายหลักเทียบกับ Gitflow
Gitflow ใช้สาขาที่มีอายุยาวนานหลายสาขา เช่น develop, release และ feature ส่วนการพัฒนาโดยใช้สายหลักใช้สาขาหลักเพียงสาขาเดียวและสาขาย่อยขนาดเล็กที่มีอายุสั้นมาก
- การพัฒนาโดยใช้สายหลักเหมาะกับการส่งมอบอย่างต่อเนื่อง
- Gitflow เหมาะกับการเผยแพร่ตามกำหนดการและมีหมายเลขรุ่น
สาขาเผยแพร่ในฐานะข้อยกเว้น
ทีมที่ใช้การพัฒนาโดยใช้สายหลักอาจแยกสาขาเผยแพร่ระยะสั้นเพื่อทำให้รุ่นหนึ่งมีเสถียรภาพเท่านั้น โดยเลือกนำการแก้ไขกลับมาใช้ในสาขานั้น
git checkout -b release/1.4 mainทำให้สาขาซิงค์กัน
รีเบสสาขาอายุสั้นไปยังสายหลักรุ่นล่าสุดก่อนผสาน เพื่อลดความขัดแย้ง
git fetch origin
git rebase origin/mainผสานกลับอย่างรวดเร็ว
เมื่อการตรวจสอบการผสานรวมอย่างต่อเนื่องผ่านแล้ว ให้ผสานสาขาอายุสั้นและลบสาขานั้น วงจรจะเริ่มใหม่ด้วยสาขาใหม่
git checkout main
git merge --no-ff add-login
git branch -d add-loginควรเลือกการพัฒนาโดยใช้สายหลักเมื่อใด
เลือกการพัฒนาโดยใช้สายหลักเมื่อคุณเผยแพร่บ่อย มีการตรวจสอบการผสานรวมอย่างต่อเนื่องที่แข็งแกร่ง และต้องการหลีกเลี่ยงความยุ่งยากจากการผสาน แนวทางนี้ทำงานร่วมกับการนำขึ้นระบบอย่างต่อเนื่องได้เป็นอย่างดี
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจเกี่ยวกับการพัฒนาโดยใช้สายหลัก
ทบทวน
คุณได้เรียนรู้รูปแบบการพัฒนาโดยใช้สายหลักแล้ว:
- มีสายหลักที่ใช้ร่วมกันหนึ่งสาย และมีสาขาย่อยขนาดเล็กอายุสั้นจำนวนมาก
- ธงความสามารถใช้ซ่อนงานที่ยังไม่เสร็จ
- การผสานรวมอย่างต่อเนื่องที่แข็งแกร่งช่วยให้สายหลักพร้อมเผยแพร่เสมอ
- รูปแบบนี้แตกต่างจากสาขาอายุยาวนานของ Gitflow
คำถามที่พบบ่อย
บทเรียน “การพัฒนาโดยยึดสาขาหลัก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การพัฒนาโดยยึดสาขาหลัก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Git & GitHub Professional Workflow ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Git & GitHub Professional Workflow มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การพัฒนาโดยยึดสาขาหลัก”
สำรวจรูปแบบการพัฒนาโดยยึดสาขาหลัก สาขาอายุสั้น และแฟล็กฟีเจอร์ ซึ่งเป็นทางเลือกน้ำหนักเบาสำหรับ Gitflow คุณปฏิบัติ Git & GitHub Professional Workflow ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Git & GitHub Professional Workflow หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Git & GitHub Professional Workflow บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การพัฒนาโดยยึดสาขาหลัก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Git & GitHub Professional Workflow นี้ได้ไหม
ได้ บทเรียน Git & GitHub Professional Workflow ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เวิร์กโฟลว์สาขาฟีเจอร์
- บทนำสู่เวิร์กโฟลว์ Gitflow
- การรีเบสเทียบกับการผสาน
- การพัฒนาโดยยึดสาขาหลัก