เรียน claude
⌨️
บทที่ 5 · ⏱ 9 นาที

Git Workflow โดยพิมพ์ภาษาไทย

ผมไม่เคยเขียนโค้ดมาก่อน แต่ใช้ git ผ่าน Claude Code ทุกวัน ทุกอย่างพิมพ์ภาษาไทยได้

ตอนเริ่มเรียน git ผมท้อมาก ทำไมต้องมีคำสั่งเยอะแยะ เครียดทุกครั้งที่ทำผิด

แต่กับ Claude Code ผมพิมพ์ภาษาไทยให้มันทำได้หมด — "commit การเปลี่ยนแปลง" / "ดูประวัติ commit" / "merge branch ใหม่กลับ main" — ผมไม่ต้องจำคำสั่ง git เลย

บทนี้สำหรับคนที่ยังไม่กล้าใช้ git หรือใช้แต่กลัวพังบ่อยๆ

Git คืออะไร (ถ้ายังไม่รู้)

Git = ระบบบันทึก version ของไฟล์ เหมือน "Undo ที่ถาวร"

  • บันทึก snapshot ของไฟล์ — เรียกว่า commit
  • ดูย้อนหลังได้ทุก version
  • ทำงานพร้อมคนอื่นโดยไม่ทับงานกัน
  • Backup อัตโนมัติเมื่อ push ขึ้น GitHub

ทำไม non-dev ต้องรู้

ผมไม่ใช่ dev แต่ใช้ git เพราะ

  • Backup โปรเจคไม่ใช่แค่โค้ด ผมเก็บ scripts, templates ใบเสนอ, content ของบริษัท
  • ย้อนได้ รู้ว่าแก้อะไรเมื่อไหร่ ถ้าผิดย้อนได้
  • ทำกับทีม ไม่ต้องส่ง Dropbox กลับไปกลับมาแล้วงงว่าใครแก้อะไร
  • Deploy auto push ขึ้น GitHub แล้ว Vercel/Netlify deploy ให้

ติดตั้ง Git

Mac

brew install git

Windows ดาวน์โหลดจาก git-scm.com

ตั้งค่าครั้งแรก

git config --global user.name "Your Name"
git config --global user.email "you@email.com"

คำสั่ง Git ที่ผมใช้กับ Claude Code

ผมพิมพ์ภาษาไทยให้ Claude Code ทำให้ ไม่ต้องจำคำสั่ง git เลย

ลองเลย: เริ่ม git ในโปรเจคที่มีอยู่

ช่วยเริ่มใช้ git กับโปรเจคนี้:
1. git init
2. สร้าง .gitignore ที่เหมาะกับโปรเจคประเภทนี้
3. First commit "initial commit"
4. ถ้าผมอยาก push ขึ้น GitHub ต้องทำอะไรต่อ
เปิด Claude.ai

ลองเลย: Commit การเปลี่ยนแปลง

ดูว่ามีอะไรเปลี่ยน — git status, git diff
ถ้าเหมาะสมแล้ว เขียน commit message ที่ดีและ commit ให้

ใช้ convention:
- feat: ฟีเจอร์ใหม่
- fix: แก้บั๊ก
- docs: เปลี่ยน docs
- refactor: ปรับโครงสร้าง
- chore: อื่นๆ ทั่วไป
เปิด Claude.ai

เคล็ดลับ

  • Claude จะ review diff ก่อนเขียน message ไม่ต้องบอกเอง

ลองเลย: สร้าง branch ใหม่

0/2 ช่อง

กรอกให้ตรงกับคุณ

(ไม่บังคับ — ว่างไว้ก็คัดลอกได้)
ผมจะเพิ่ม feature ใหม่ — [อธิบาย feature]
ช่วยสร้าง branch ใหม่สำหรับ feature นี้
ตั้งชื่อ feature/[kebab-case]
เปิด Claude.ai

ลองเลย: Self-review ก่อน commit

/review

หรือ:
ช่วย review การเปลี่ยนแปลงที่ยังไม่ commit
- มีบั๊กไหม
- มีปัญหา security ไหม
- ตั้งชื่อดีไหม

ถ้าเจอ บอกและแก้ให้
เปิด Claude.ai

ลองเลย: Merge feature branch กลับ main

feature/customer-reply เสร็จแล้ว
ช่วย:
1. รัน tests ถ้ามี
2. Merge กลับ main
3. Push ขึ้น origin
4. ลบ branch ที่ merge แล้ว

ถ้ามี conflict — หยุดและถามผม
เปิด Claude.ai

ลองเลย: สร้าง Pull Request

0/2 ช่อง

กรอกให้ตรงกับคุณ

(ไม่บังคับ — ว่างไว้ก็คัดลอกได้)
สร้าง GitHub PR สำหรับ branch ปัจจุบัน

Title: [conventional สั้นๆ]

Body:
## Summary
- bullet อธิบายการเปลี่ยน

## Test Plan
- [ ] item ที่ต้องทดสอบ
- [ ] item 2

ใช้ gh CLI
เปิด Claude.ai

Workflow ของผมในแต่ละวัน

เริ่มวัน:
  git pull                # ดึงการเปลี่ยนแปลงล่าสุด

สร้าง branch ใหม่:
  พิมพ์ "สร้าง branch feature/[ชื่อ]"

ทำงาน...

ทุกๆ ชั่วโมงที่มีของจบเป็นกลุ่ม:
  พิมพ์ "commit การเปลี่ยนแปลงที่สมเหตุสมผล"

จบวัน:
  พิมพ์ "push branch นี้ขึ้น origin"

พร้อม merge:
  พิมพ์ "review โค้ด + merge กลับ main + ลบ branch"

เคล็ด — ใช้ Claude เป็น "Git Guardian"

ลองเลย: Pre-commit hook ตรวจก่อน commit ทุกครั้ง

สร้าง git hook pre-commit ที่ใช้ Claude Code ตรวจก่อนทุกครั้ง:
1. รัน linter
2. รัน type check ถ้ามี
3. ถ้ามี console.log ใหม่ — เตือน
4. ถ้ามี TODO comment ใหม่ — เตือน
5. ถ้าไฟล์ .env ถูก stage — block ไม่ให้ commit

เขียน script ใน .git/hooks/pre-commit ทำให้ executable
เปิด Claude.ai

เคล็ดลับ

  • ผมตั้งแบบนี้ตั้งแต่ใช้ git ใหม่ๆ ไม่เคยเผลอ commit secret อีกเลย

ของที่ต้องระวัง

อย่า commit .env
ไฟล์ .env เก็บ secret/password push ขึ้น GitHub = เปิดเผยให้โลก ตั้ง .gitignore ให้มี .env, .env.local, .env.*.local เสมอ

อย่า git push --force บน main
ทำลายประวัติของทั้งทีมได้

ระวัง git reset --hard
ลบการเปลี่ยนแปลงที่ยังไม่ commit ย้อนไม่ได้

เรื่องที่ Claude Code ทำได้อีก

  • แก้ merge conflict — "ช่วยแก้ conflict ให้หน่อย"
  • Cherry-pick — "เอา commit นี้จาก feature-x มา main"
  • Bisect — "มีบั๊กระหว่าง 2 commit นี้ หาให้หน่อย"
  • Squash — "รวม 5 commit ล่าสุดเป็น 1"

ผมไม่เคยจำคำสั่งพวกนี้ ผมพิมพ์ภาษาไทยให้ Claude

ลองทำดู: ภารกิจ: ใช้ Git + Claude จริง

บทนี้มีประโยชน์กับคุณมั้ยครับ?

ผมอ่าน feedback เองทุกอันแล้วเอาไปปรับเนื้อหา