ExzLearn

Git พื้นฐานที่ใช้จริงทุกวัน

เข้าใจ 3 พื้นที่ของ Git และวงจร แก้ → add → commit → push จนใช้ได้คล่องโดยไม่ต้องท่องจำ

พื้นฐาน 3 นาที อัปเดต 25 ต.ค. 2569
สรุปใน 30 วินาที
  • Git คือ ระบบบันทึกประวัติไฟล์ ย้อนกลับไปเวอร์ชันไหนก็ได้ และหลายคนทำงานพร้อมกันได้
  • ไฟล์จะเดินทางผ่าน 3 พื้นที่: Working → Staging → Repository
  • Commit = จุด save ที่มีคำอธิบาย ส่วน Push = ส่ง commit ขึ้น GitHub

ทำไมต้องรู้เรื่องนี้

ถ้าไม่มี Git ก็จะจบที่ไฟล์ชื่อ final_v2_แก้แล้ว_จริงๆ.zip Git บันทึกทุกการเปลี่ยนแปลงพร้อมเหตุผล ย้อนกลับได้ทันทีเมื่อพัง และเป็นจุดเริ่มของ auto-deploy แบบที่เว็บนี้ใช้: push ขึ้น GitHub ปุ๊บ เว็บก็อัปเดตเอง

3 พื้นที่ของ Git

ไฟล์เดินทางยังไง
1Working Directoryไฟล์ที่คุณกำลังแก้
2Staging Areaเลือกว่าจะ save อะไร
3Local Repositorycommit เก็บในเครื่อง
4Remote (GitHub)สำรองและแชร์ทีม
✏️ Working

ไฟล์จริงในโฟลเดอร์ แก้อะไรไป Git รู้ แต่ยังไม่ได้บันทึก

📋 Staging

"ตะกร้า" ที่เลือกไว้ว่าจะรวมไว้ใน commit ถัดไป ทำให้แยก commit เป็นเรื่องๆ ได้

🗄️ Repository

ประวัติ commit ทั้งหมด แต่ละ commit มีรหัส (hash), ผู้เขียน, เวลา และข้อความ

วงจรทำงานประจำวัน

  1. 1

    ดึงของล่าสุดก่อนเริ่มงาน — git pull เพื่อไม่ให้ทำงานบนโค้ดเก่า

  2. 2

    แก้ไฟล์ — แก้ตามปกติใน editor

  3. 3

    ดูว่าเปลี่ยนอะไรไป — git status และ git diff

  4. 4

    เลือกไฟล์เข้า staging — git add <ไฟล์> หรือ git add . ถ้าจะเอาทั้งหมด

  5. 5

    Commit พร้อมข้อความที่บอกว่า "ทำไม" — git commit -m "Add Docker lesson"

  6. 6

    ส่งขึ้น GitHub — git push และถ้าตั้ง auto-deploy ไว้ เว็บจะอัปเดตเอง

bash
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 กลับ

bash
git switch -c new-lesson   # สร้าง branch ใหม่แล้วย้ายไปอยู่บนนั้น
# ...แก้ไฟล์ แล้ว add / commit ตามปกติ...
git switch main
git merge new-lesson

ข้อผิดพลาดที่เจอบ่อย

ทบทวน

ทบทวน 1
คุณแก้ไฟล์ไป 3 ไฟล์ แต่อยาก commit แค่ 1 ไฟล์ก่อน ต้องทำอย่างไร?
ทบทวน 2
git commit กับ git push ต่างกันยังไง?
#git#github#version-control