LEVEL 1 · พื้นฐานที่ใช้ทุกวัน
Branch & Merge
Branch คือสิ่งที่ทำให้ Git เปลี่ยนวิธีทำงานของคนทั้งวงการ แต่คนส่วนใหญ่เข้าใจมันซับซ้อนเกินจริง ความจริงนั้นเรียบง่ายมาก
4.1 Branch คือป้ายชี้ ไม่ใช่สำเนา
หลายคนคิดว่าสร้าง branch คือก๊อปโปรเจกต์ทั้งชุด ผิดอย่างสิ้นเชิง branch เป็นเพียงป้ายเล็ก ๆ ที่ชี้ไปยัง commit หนึ่งดวง — เบาแค่ไฟล์ข้อความที่เก็บรหัส SHA หนึ่งบรรทัด นี่คือเหตุผลที่สร้าง branch ใหม่เร็วทันใจและแทบไม่กินที่เลย ส่วน HEAD คือป้ายพิเศษที่บอกว่า "ตอนนี้คุณกำลังยืนอยู่ที่ branch ไหน"
HEAD อยู่ที่ feature ไม่ใช่ main$ git switch -c feature # สร้าง branch ใหม่ + ย้ายไปยืนที่นั่น
$ git switch main # ย้ายกลับมา main (HEAD ขยับ)เมื่อ HEAD ขยับไป branch ไหน Git จะปรับไฟล์ในโฟลเดอร์ให้ตรงกับภาพถ่ายของ branch นั้นทันที — คุณจึงทดลองบน feature ได้อย่างอิสระโดย main ไม่กระทบเลย
4.2 Merge — รวมเส้นทางกลับเข้าด้วยกัน
เมื่องานบน feature เสร็จ ก็รวมกลับเข้า main ด้วย merge ซึ่งมีสองหน้าตาขึ้นกับสถานการณ์:
✅ สรุปบทที่ 4 — branch = ป้ายชี้ commit ที่เบาและสร้างเร็ว ไม่ใช่สำเนาโปรเจกต์ ·
HEAD= ตำแหน่งที่คุณยืนอยู่ ·switchขยับ HEAD และปรับไฟล์ให้ตรง branch · merge มีสองแบบ: fast-forward (เลื่อนป้าย) และ merge commit (รวมสองสายที่ต่างมีงานใหม่)