Git พื้นฐานที่ใช้จริงทุกวัน
เข้าใจ 3 พื้นที่ของ Git และวงจร แก้ → add → commit → push จนใช้ได้คล่องโดยไม่ต้องท่องจำ
- Git คือ ระบบบันทึกประวัติไฟล์ ย้อนกลับไปเวอร์ชันไหนก็ได้ และหลายคนทำงานพร้อมกันได้
- ไฟล์จะเดินทางผ่าน 3 พื้นที่: Working → Staging → Repository
- Commit = จุด save ที่มีคำอธิบาย ส่วน Push = ส่ง commit ขึ้น GitHub
ทำไมต้องรู้เรื่องนี้
ถ้าไม่มี Git ก็จะจบที่ไฟล์ชื่อ final_v2_แก้แล้ว_จริงๆ.zip Git บันทึกทุกการเปลี่ยนแปลงพร้อมเหตุผล ย้อนกลับได้ทันทีเมื่อพัง และเป็นจุดเริ่มของ auto-deploy แบบที่เว็บนี้ใช้: push ขึ้น GitHub ปุ๊บ เว็บก็อัปเดตเอง
3 พื้นที่ของ Git
ไฟล์จริงในโฟลเดอร์ แก้อะไรไป Git รู้ แต่ยังไม่ได้บันทึก
"ตะกร้า" ที่เลือกไว้ว่าจะรวมไว้ใน commit ถัดไป ทำให้แยก commit เป็นเรื่องๆ ได้
ประวัติ commit ทั้งหมด แต่ละ commit มีรหัส (hash), ผู้เขียน, เวลา และข้อความ
วงจรทำงานประจำวัน
- 1
ดึงของล่าสุดก่อนเริ่มงาน —
git pullเพื่อไม่ให้ทำงานบนโค้ดเก่า - 2
แก้ไฟล์ — แก้ตามปกติใน editor
- 3
ดูว่าเปลี่ยนอะไรไป —
git statusและgit diff - 4
เลือกไฟล์เข้า staging —
git add <ไฟล์>หรือgit add .ถ้าจะเอาทั้งหมด - 5
Commit พร้อมข้อความที่บอกว่า "ทำไม" —
git commit -m "Add Docker lesson" - 6
ส่งขึ้น GitHub —
git pushและถ้าตั้ง auto-deploy ไว้ เว็บจะอัปเดตเอง
git pull
git status
git add content/devops/docker-basics.md
git commit -m "Add Docker basics lesson"
git pushเขียน Commit Message ให้ดี
| ❌ ไม่ดี | ✅ ดี |
|---|---|
update |
Add quiz to HTTP lesson |
fix |
Fix bookmark button not saving on mobile |
แก้นิดหน่อย |
แก้คำผิดในบท Docker |
หลักง่ายๆ คืออ่านข้อความแล้วต้องรู้ว่า commit นี้เปลี่ยนอะไร โดยไม่ต้องเปิดดูโค้ด
Branch แบบสั้นที่สุด
Branch คือเส้นทางแยกสำหรับลองของใหม่โดยไม่กระทบ main พอเสร็จแล้วค่อย merge กลับ
git switch -c new-lesson # สร้าง branch ใหม่แล้วย้ายไปอยู่บนนั้น
# ...แก้ไฟล์ แล้ว add / commit ตามปกติ...
git switch main
git merge new-lessonข้อผิดพลาดที่เจอบ่อย
ทบทวน
Staging Area มีไว้เพื่อการนี้: เลือกเฉพาะไฟล์ที่จะรวมใน commit ถัดไป ไฟล์ที่ไม่ได้ add จะยังค้างอยู่ใน Working Directory ตามเดิม
git commit กับ git push ต่างกันยังไง?commit ทำงานแบบ offline ได้ทั้งหมด ส่วนการแชร์และการ trigger auto-deploy เกิดตอน push