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 ต้องทำอะไรต่อ
ลองเลย: Commit การเปลี่ยนแปลง
ดูว่ามีอะไรเปลี่ยน — git status, git diff ถ้าเหมาะสมแล้ว เขียน commit message ที่ดีและ commit ให้ ใช้ convention: - feat: ฟีเจอร์ใหม่ - fix: แก้บั๊ก - docs: เปลี่ยน docs - refactor: ปรับโครงสร้าง - chore: อื่นๆ ทั่วไป
เคล็ดลับ
- • Claude จะ review diff ก่อนเขียน message ไม่ต้องบอกเอง
ลองเลย: สร้าง branch ใหม่
กรอกให้ตรงกับคุณ
(ไม่บังคับ — ว่างไว้ก็คัดลอกได้)ผมจะเพิ่ม feature ใหม่ — [อธิบาย feature] ช่วยสร้าง branch ใหม่สำหรับ feature นี้ ตั้งชื่อ feature/[kebab-case]
ลองเลย: Self-review ก่อน commit
/review หรือ: ช่วย review การเปลี่ยนแปลงที่ยังไม่ commit - มีบั๊กไหม - มีปัญหา security ไหม - ตั้งชื่อดีไหม ถ้าเจอ บอกและแก้ให้
ลองเลย: Merge feature branch กลับ main
feature/customer-reply เสร็จแล้ว ช่วย: 1. รัน tests ถ้ามี 2. Merge กลับ main 3. Push ขึ้น origin 4. ลบ branch ที่ merge แล้ว ถ้ามี conflict — หยุดและถามผม
ลองเลย: สร้าง Pull Request
กรอกให้ตรงกับคุณ
(ไม่บังคับ — ว่างไว้ก็คัดลอกได้)สร้าง GitHub PR สำหรับ branch ปัจจุบัน Title: [conventional สั้นๆ] Body: ## Summary - bullet อธิบายการเปลี่ยน ## Test Plan - [ ] item ที่ต้องทดสอบ - [ ] item 2 ใช้ gh CLI
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
เคล็ดลับ
- • ผมตั้งแบบนี้ตั้งแต่ใช้ 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 เองทุกอันแล้วเอาไปปรับเนื้อหา