Feature Branch Workflow
รวมทุกอย่างที่เรียนมา เดิน workflow 1 วันของ dev ตั้งแต่ pull main จน cleanup หลัง merge
~8 นาที
ถึงบทสุดท้ายแล้ว ถึงเวลาที่จะรวมทุกอย่างที่เรียนมาเข้าด้วยกันเป็น feature branch workflow workflow ที่บริษัท software ส่วนใหญ่ในโลกใช้
แทนที่จะอธิบายเป็นทฤษฎี ลองไล่ตามตัวอย่าง developer 1 วันทำงานกันเลย ตั้งแต่เช้าจรดเย็น
1 วันของ dev คนหนึ่ง
สมมุติคุณได้งานใหม่มาทำ กดปุ่ม “เริ่มทำงาน” แล้วไล่อ่านขั้นตอนไปเรื่อยๆ สังเกตคำสั่งและลำดับของมัน
Mission
เพิ่มระบบส่งอีเมลแจ้งเตือนตอนผู้ใช้ sign up
สรุป Flow ที่จำเป็นต้องรู้
git pull origin mainก่อนเริ่มงาน sync ของใหม่git checkout -b feature/xสร้าง branch ใหม่- ทำงาน +
git commitเป็นระยะ git push -u origin feature/xbackup + เตรียม PR- เปิด PR บน GitHub (หรือใช้
gh pr create) - Sync main ล่าสุดเข้า feature ด้วย
git rebase main - แก้ตาม review +
git push --force-with-lease - Approved → merge บน GitHub
- Cleanup: กลับ main, pull, ลบ branch
Conventional branch names
ทีมส่วนใหญ่ใช้ prefix ในชื่อ branch เพื่อบอกประเภทงาน
feature/xหรือfeat/x- feature ใหม่fix/xหรือbugfix/x- แก้ bugchore/x- งาน maintenance ที่ไม่ใช่ feature/bugdocs/x- แก้ documentationrefactor/x- refactor โค้ด
Best practices ที่สรุปจากทุก lesson
- Commit บ่อย เล็ก และเขียน message ชัด → ย้อน/review ง่าย (lesson 2)
- สร้าง branch แยกทุก feature → main stable (lesson 3)
- เข้าใจว่าเมื่อไหร่ merge ได้แบบ fast-forward เมื่อไหร่ต้อง 3-way → อ่านกราฟ history ได้ (lesson 4)
- Rebase ก่อน merge → ประวัติสะอาด แต่ไม่ rebase commit ที่ share แล้ว (lesson 5)
- Pull ก่อน push เสมอ → ลด conflict (lesson 6)
- เจอ conflict ไม่ panic → อ่าน marker 3 ตัว ลบออก เลือกโค้ดที่ถูก (lesson 7)
- PR เล็ก → review ละเอียด (lesson 8)
- ก่อน reset --hard, stash ก่อน → ปลอดภัย (lesson 9)
จบแล้ว!
คุณผ่าน 10 lesson ครบทุกเรื่องพื้นฐานของ Git ตอนนี้น่าจะ:
- เข้าใจว่า Git เก็บประวัติยังไง (commit, branch, merge)
- ใช้ command พื้นฐานได้: clone, commit, push, pull, checkout, merge, rebase, reset
- เปิด + แก้ PR บน GitHub ได้
- Resolve merge conflict เองได้โดยไม่ panic
- Recover commit ที่คิดว่าหายไปแล้ว
- รู้ workflow ของ dev ในทีม
จากนี้ทางเดียวที่จะเก่งขึ้นคือใช้จริง เปิด terminal แล้วลอง git init โปรเจกต์ของตัวเอง ทำ commit ครั้งแรกของคุณจริงๆ ไปเลย
ขอให้สนุกกับการ commit!