N

Nokfa Docs

ไม่มีชื่อบทความ

📚 Git Workshop Step-by-Step: พื้นฐานที่ dev มือใหม่ต้องใช้เป็น


1. อัพเดตข้อมูล branch ล่าสุดจาก remote

พูด: “ก่อนจะเปรียบเทียบ branch หรือ merge อะไรทุกครั้ง เราต้องแน่ใจว่าเราเห็นข้อมูลล่าสุดของทีมก่อนนะ ให้ใช้คำสั่งนี้…”

ตัวอย่าง:

git fetch origin

อธิบาย:git fetch จะดึงข้อมูล branch ล่าสุดจาก server (GitHub, GitLab ฯลฯ) มาไว้ที่เครื่องเรา แต่ยังไม่รวม (merge) เข้ามาใน branch ที่เราทำงานอยู่ตอนนี้นะ แค่เอามาให้ดูเฉย ๆ”


2. ดูว่ามี branch อะไรบ้าง

พูด: “สมมุติเราจะดูว่าตอนนี้เรามี branch อะไรในเครื่องบ้าง ให้พิมพ์…”

ตัวอย่าง:

git branch

“จะขึ้นเป็น list ของ branch ที่อยู่ในเครื่องเรา”

ถ้าอยากดู branch ที่อยู่บน server ให้เพิ่ม -r

git branch -r

3. ดูว่ามีอะไรเปลี่ยนแปลงบ้าง (diff)

3.1 เปรียบเทียบไฟล์เฉพาะไฟล์เดียว

พูด: “สมมติเราอยากรู้ว่า package.json ของ branch ที่เราทำงานอยู่ต่างจาก main ที่อยู่บน server ยังไง ให้ใช้…”

ตัวอย่าง:

git diff origin/main -- package.json

อธิบาย:git diff origin/main -- package.json คือการเปรียบเทียบไฟล์ package.json ของ branch ปัจจุบันกับไฟล์ package.json ของ branch main ที่อยู่บน server ว่ามีอะไรต่างกันบ้าง”


3.2 เปรียบเทียบทั้ง branch

พูด: “ถ้าอยากดูทุกไฟล์ที่ต่างกันระหว่าง branch ปัจจุบันกับ main ให้ใช้…”

ตัวอย่าง:

git diff origin/main

4. ดูประวัติการเปลี่ยนแปลง (log)

พูด: “ถ้าอยากรู้ว่าใน repo นี้มีใครแก้อะไรเมื่อไหร่บ้าง ใช้คำสั่งนี้”

ตัวอย่าง:

git log

อธิบาย: “เวลาพิมพ์ git log แล้ว จะมีหน้าต่างแสดงข้อมูล commit ยาว ๆ ขึ้นมา ถ้าอยากออก ให้กดปุ่ม q (ไม่ใช่ Ctrl + C หรือ Ctrl + Z)”

ตัวอย่างต่อยอด: “อยากดู commit ล่าสุดแค่ 3 อัน ใช้”

git log -3

“อยากดู log พร้อมรายละเอียดไฟล์ที่แก้ไขแต่ละ commit ใช้”

git log -p

5. เช็คสถานะไฟล์ที่เปลี่ยนแปลงในเครื่อง

พูด: “ทุกครั้งที่เราทำงาน ควรเช็คสถานะไฟล์ของเราก่อน commit ด้วยคำสั่งนี้”

ตัวอย่าง:

git status

6. สลับ branch

พูด: “ถ้าอยากสลับ branch ให้ใช้ git checkout ตามด้วยชื่อ branch เช่น…”

git checkout main

7. commit งาน

พูด: “พอเราแก้ไขไฟล์เสร็จแล้ว ต้อง add ไฟล์เข้าคิว commit ก่อน”

git add .
git commit -m "สรุปสิ่งที่แก้ไข"

8. เทคนิคจำง่าย/เคล็ดลับ

  • git diff = “ดูต่าง”
  • git log = “ดูอดีต”
  • q = “ออกจากโหมดดู”
  • ทุกคำสั่งที่แสดงผลยาว ๆ ในหน้าต่าง less (log, diff, man) กด q ได้เสมอ

Q & A: ถาม-ตอบที่มักพบบ่อย

  • Q: อยากออกจากหน้า log กดอะไร? A: กด q

  • Q: ดูไฟล์ที่เปลี่ยนเฉพาะไฟล์เดียว? A: git diff origin/main -- ชื่อไฟล์

  • Q: ถ้าใช้ git log แล้วค้าง/ไปต่อไม่ได้? A: กด q เพื่อออก


🟢 Workshop: ให้ลองทำจริง

Task 1

  • ให้แก้ไขไฟล์ package.json
  • ให้ลองใช้ git diff origin/main -- package.json
  • ให้ลอง git log แล้วออกด้วย q

Task 2

  • ให้สลับ branch ไป main
  • กลับมาที่ branch ตัวเอง
  • ลองเปรียบเทียบ diff ดู

Task 3

  • ให้ดูว่า branch ที่มีอยู่บนเครื่องกับบน server ต่างกันยังไง

⭐ ทิ้งท้าย

“Git command line ดูเหมือนเยอะ แต่ใช้บ่อย ๆ จะคล่อง จำหลักแค่นี้แล้วค่อย ๆ เพิ่มคำสั่งที่ advance ขึ้นเรื่อย ๆ ก็พอ” “จำไว้ว่า ทุกอย่างที่ดู log, diff, หรือ man page ออกได้ด้วย q”