Skip to content
KoishiAI
ไทย
← Back to contents
Chapter 2 / 6 · April 24, 2026

เครื่องมือและคำสั่ง

รู้จักเครื่องมือหลัก คำสั่ง และวิธีเรียกใช้งาน

This guide is All Rights Reserved — free to read, copying/republication requires permission.

บทที่ 2 | เครื่องมือที่ใช้ร่วมกับ Claude Code กลุ่มเป้าหมาย: นักพัฒนาที่ต้องการใช้ Claude Code อย่างมืออาชีพ — ทุกระดับ

Editor Integration — การเชื่อมต่อกับ Code Editor

Claude Code ทำงานลื่นไหลที่สุดเมื่อใช้คู่กับ Code Editor ที่ดี แต่ละ Editor มีวิธีติดตั้งและ Login แตกต่างกัน บทนี้จะอธิบายทีละตัวแบบละเอียด

VS Code (Visual Studio Code)

VS Code เป็น Editor ที่ได้รับความนิยมสูงสุดในโลก ฟรี และรองรับ Claude Code ได้ดีมากผ่านหลายวิธี

วิธีที่ 1 — ใช้ผ่าน Integrated Terminal (ไม่ต้องติดตั้งเพิ่ม)

1ดาวน์โหลดและติดตั้ง VS Code
ไปที่ code.visualstudio.com แล้วดาวน์โหลดตามระบบปฏิบัติการ
2เปิดโฟลเดอร์โปรเจค
File → Open Folder หรือลาก Folder มาวางที่หน้าต่าง VS Code
3เปิด Terminal
กด Ctrl+` (backtick) หรือ View → Terminal จะได้ Terminal ที่อยู่ในโฟลเดอร์โปรเจคทันที
4รัน Claude Code
พิมพ์ claude ใน Terminal แล้วกด Enter เริ่มสั่งงานได้เลย
# เปิด Terminal ใน VS Code แล้วรัน
claude
 
# หรือใช้แบบ One-shot
claude -p "อธิบายไฟล์ @src/app.ts ให้หน่อย"

วิธีที่ 2 — ติดตั้ง Claude Extension (แนะนำ)

Extension ทำให้ Claude ปรากฏใน Sidebar ของ VS Code ใช้งานได้โดยไม่ต้องสลับไปที่ Terminal

ขั้นตอนติดตั้งและ Login

กด Ctrl+Shift+X เพื่อเปิด Extensions Marketplace

ค้นหา "Claude" หรือ "Anthropic" แล้วเลือก Claude Extension (โดย Anthropic)

กด Install แล้วรอให้ติดตั้งเสร็จ

VS Code จะขึ้น popup ให้ Sign in → คลิก “Sign in with Claude.ai”

เบราว์เซอร์จะเปิดขึ้น Login ด้วยบัญชี Anthropic แล้วกด Authorize

กลับมา VS Code จะเห็นไอคอน Claude ที่ Sidebar ด้านซ้าย

💡 Login ด้วย API Key แทน Account
ถ้าไม่ต้องการ Login ด้วย Account ให้เปิด Settings (Ctrl+,) ค้นหา “Claude API Key” แล้วใส่ Key โดยตรง เหมาะสำหรับการใช้งานในองค์กร

วิธีที่ 3 — ติดตั้ง Continue Extension (รองรับหลาย Model)

Continue เป็น Extension ยอดนิยมที่รองรับ Claude และ Model อื่นๆ มีฟีเจอร์ครบกว่า

ค้นหา “Continue” ใน Marketplace แล้วติดตั้ง

กด Ctrl+Shift+P แล้วพิมพ์ “Continue: Open Config” เพื่อเปิดไฟล์ config.json

เพิ่ม Claude เป็น Provider ดังนี้:

{
  "models": [
    {
      "title": "Claude Sonnet 4",
      "provider": "anthropic",
      "model": "claude-sonnet-4",
      "apiKey": "sk-ant-api03-xxxxxxxxxx"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Claude Haiku",
    "provider": "anthropic",
    "model": "claude-haiku-4-5"
  }
}

บันทึกไฟล์ กด Ctrl+L เพื่อเปิด Chat กับ Claude ใน Sidebar

💡 Shortcut ที่ใช้บ่อยใน Continue
Ctrl+L = เปิด Chat | Ctrl+Shift+L = ส่งโค้ดที่เลือกไปถาม Claude | Ctrl+I = Inline Edit โค้ดที่ cursor อยู่

Cursor — AI-First Editor

Cursor คือ Code Editor ที่ Fork มาจาก VS Code และออกแบบมาสำหรับ AI โดยเฉพาะ มี Claude ฝังอยู่ใน UI ตั้งแต่ต้น ไม่ต้องติดตั้ง Extension เพิ่ม

การติดตั้ง Cursor

1ดาวน์โหลด Cursor
ไปที่ cursor.com → Download for [ระบบปฏิบัติการ] ไฟล์ขนาดประมาณ 200MB
2ติดตั้งและเปิดโปรแกรม
ติดตั้งเหมือน App ทั่วไป เมื่อเปิดครั้งแรกจะถามว่าต้องการ Import Settings จาก VS Code ไหม
3Login และตั้งค่า Claude
Cursor มี Claude ในตัว แต่ถ้าต้องการใช้ API Key ของตัวเองให้ไปที่ Settings → Models

ตั้งค่าให้ Cursor ใช้ Claude API Key ของตัวเอง

โดย default Cursor จะใช้ Credits ของ Cursor เอง แต่ถ้าต้องการใช้ API Key ส่วนตัว (ประหยัดกว่าและยืดหยุ่นกว่า):
เปิด Cursor → Settings (Ctrl+Shift+J) → Models

เลื่อนลงหา Claude ในหมวด “API Keys”

เปิด Toggle “Use your own API key” แล้วใส่ Anthropic API Key

เลือก Model ที่ต้องการใช้เป็น Default

# ตั้งค่าใน .env ของโปรเจค (ทำงานกับ Cursor Composer ได้ด้วย)
ANTHROPIC_API_KEY=sk-ant-api03-xxxxxxxxxx

ฟีเจอร์สำคัญของ Cursor

ฟีเจอร์Shortcutทำอะไร
ChatCtrl+Lเปิด Panel คุยกับ Claude ขณะเขียนโค้ด
ComposerCtrl+Iสั่งให้ Claude แก้หลายไฟล์พร้อมกันใน Project
Inline EditCtrl+Kแก้โค้ดที่ Highlight อยู่โดยตรงด้วย Claude
Codebase ChatCtrl+Shift+Lถาม Claude เรื่อง Codebase ทั้งโปรเจค
Tab CompleteTabรับ AI Suggestion ขณะพิมพ์โค้ด

💡 Cursor Rules — เทียบเท่า CLAUDE.md
สร้างไฟล์ .cursorrules ที่ root ของโปรเจค ใส่ context ของโปรเจค เช่น tech stack, conventions Cursor จะอ่านทุกครั้ง เหมือน CLAUDE.md

JetBrains IDEs (IntelliJ, PyCharm, WebStorm, GoLand…)

JetBrains ผลิต IDE ระดับ Professional สำหรับแต่ละภาษา ทุกตัวใช้วิธีติดตั้ง Claude เหมือนกัน

IDE แต่ละตัวใช้กับภาษาอะไร

IDEภาษาหลักใครควรใช้
IntelliJ IDEAJava, KotlinJava/Android Developer
PyCharmPythonPython, Data Science, ML/AI
WebStormJavaScript, TypeScriptFrontend, Node.js Developer
GoLandGoGo Developer
PhpStormPHPPHP Developer
RubyMineRubyRuby on Rails Developer
CLionC, C++Systems, Embedded Developer

ติดตั้ง Claude Plugin บน JetBrains

1เปิด Plugin Marketplace
ไปที่ Settings (Ctrl+Alt+S) → Plugins → Marketplace
2ค้นหาและติดตั้ง Plugin
ค้นหา “Claude” หรือ “Anthropic” แล้วกด Install จาก Anthropic
3Restart IDE
กด Restart IDE เพื่อให้ Plugin มีผล
4Login / ใส่ API Key
ไปที่ Settings → Tools → Claude → ใส่ API Key หรือกด “Login with Claude.ai”
# หรือตั้ง API Key ผ่าน Environment Variable
# macOS/Linux: เพิ่มใน ~/.zshrc
export ANTHROPIC_API_KEY="sk-ant-api03-xxxx"
 
# Windows PowerShell
$env:ANTHROPIC_API_KEY = "sk-ant-api03-xxxx"

การใช้งาน Claude ใน JetBrains

Alt+C → เปิด Claude Chat Panel ด้านขวา

คลิกขวาที่โค้ดที่ Highlight → Claude → Ask Claude / Explain / Refactor

Alt+Shift+C → Inline Edit โค้ดที่เลือก

เปิด Claude Tool Window แล้วลากไฟล์จาก Project Explorer มาใส่ใน Chat ได้

💡 ใช้ AI Assistant ร่วมกับ Claude
JetBrains มี AI Assistant ของตัวเอง สามารถใช้ทั้งสองพร้อมกันได้ โดย AI Assistant ช่วยเรื่อง IDE-specific เช่น Refactor, Rename ส่วน Claude ช่วยงาน Logic และ Architecture

Neovim — สำหรับผู้ชอบ Terminal

Neovim คือ Text Editor ที่ทำงานใน Terminal เหมาะสำหรับ Developer ที่ชอบ Keyboard-driven workflow

ติดตั้ง Claude.nvim Plugin

-- เพิ่มใน ~/.config/nvim/lua/plugins/claude.lua
-- ใช้ lazy.nvim เป็น Plugin Manager
return {
  "pasky/claude.vim",
  config = function()
    vim.g.claude_api_key = os.getenv("ANTHROPIC_API_KEY")
    vim.g.claude_model = "claude-sonnet-4"
  end
}
 
-- หรือใช้ avante.nvim ที่ฟีเจอร์ครบกว่า
return {
  "yetone/avante.nvim",
  opts = {
    provider = "claude",
    claude = {
      model = "claude-sonnet-4",
      api_key_name = "ANTHROPIC_API_KEY"
    }
  }
}

💡 แนะนำ: ใช้ Claude Code CLI แทน
สำหรับ Neovim user แนะนำให้ใช้ Claude Code CLI ใน Terminal แยกต่างหาก (tmux split) แทนการติดตั้ง Plugin เพราะ Claude Code CLI ให้ประสบการณ์ที่ดีกว่าและอัปเดตบ่อยกว่า

MCP (Model Context Protocol) — คู่มือฉบับสมบูรณ์

MCP คือมาตรฐานเปิดที่ Anthropic สร้างขึ้น ช่วยให้ Claude เชื่อมต่อกับเครื่องมือและบริการภายนอกได้ เปรียบเหมือน “ปลั๊กอิน” ที่ขยายความสามารถ Claude ออกไปได้ไม่จำกัด

โครงสร้างของ MCP

MCP ทำงานแบบ Client-Server: Claude Code เป็น Client ส่วน MCP Server เป็นตัวกลางที่คุยกับบริการภายนอก การตั้งค่าทั้งหมดอยู่ที่ ~/.claude/settings.json

// โครงสร้างพื้นฐานของ ~/.claude/settings.json
{
  "mcpServers": {
    "ชื่อ-server": {
      "command": "คำสั่งที่รัน server",
      "args": ["argument1", "argument2"],
      "env": {
        "API_KEY": "ค่า environment variable"
      }
    }
  }
}
MCP Filesystem — อ่าน/เขียนไฟล์ในเครื่อง

ให้ Claude เข้าถึงไฟล์นอก Working Directory ได้ เหมาะสำหรับค้นหาและแก้ไขไฟล์ข้ามโปรเจค

// ~/.claude/settings.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/john/Projects",
        "/Users/john/Documents/notes"
      ]
    }
  }
}

ตัวอย่างการใช้งาน

> หาไฟล์ทั้งหมดที่นามสกุล .env ใน /Users/john/Projects
> อ่าน README ของทุกโปรเจคใน /Projects แล้วสรุปให้
> เปรียบเทียบ package.json ระหว่าง ProjectA และ ProjectB

⚠️ ระวังสิทธิ์การเข้าถึง
ระบุเฉพาะโฟลเดอร์ที่ต้องการให้ Claude เข้าถึง อย่าใส่ / หรือ /home ทั้งหมด เพราะ Claude จะเห็นทุกไฟล์ในเครื่อง

MCP GitHub — จัดการ Repository บน GitHub

ให้ Claude อ่าน Issues, Pull Request, โค้ด และ Actions บน GitHub ได้โดยตรง

ขั้นตอนติดตั้ง

ไปที่ github.com → Settings → Developer settings → Personal access tokens → Tokens (classic)

กด Generate new token แล้วเลือก scope: repo, read:org, read:user

Copy token ที่ได้

เพิ่มใน settings.json:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
      }
    }
  }
}

ตัวอย่างการใช้งาน

> แสดง Issues ทั้งหมดที่ยังเปิดอยู่ใน repo myorg/myproject
> สรุป Pull Request #42 ว่าเปลี่ยนอะไรบ้าง
> หา Issue ที่เกี่ยวกับ "authentication" และเสนอวิธีแก้
> ดู GitHub Actions workflow ล่าสุดว่า fail ตรงไหน
MCP Browser — ค้นหาและเปิดเว็บได้

ให้ Claude เปิดเว็บไซต์ กรอกฟอร์ม คลิกปุ่ม และดึงข้อมูลจากเว็บได้แบบ Real-time ผ่าน Playwright

# ติดตั้ง Playwright ก่อน
npx playwright install chromium
 
// settings.json
{
  "mcpServers": {
    "browser": {
      "command": "npx",
      "args": ["@playwright/mcp"]
    }
  }
}

ตัวอย่างการใช้งาน

> เปิด https://npmjs.com/package/react แล้วบอกว่า version ล่าสุดคืออะไร
> ค้นหา "Next.js 15 new features" ใน Google แล้วสรุปให้
> เปิด docs.anthropic.com แล้วหาวิธีใช้ Tool Use API
> ตรวจสอบว่าเว็บ mycompany.com โหลดได้ปกติไหม
MCP Database — เชื่อมต่อฐานข้อมูล

ให้ Claude Query ฐานข้อมูลได้โดยตรง รองรับ PostgreSQL, MySQL, SQLite

PostgreSQL

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://user:password@localhost:5432/mydb"
      ]
    }
  }
}

SQLite

{
  "mcpServers": {
    "sqlite": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sqlite",
        "--db-path", "/path/to/database.db"
      ]
    }
  }
}

ตัวอย่างการใช้งาน

> แสดง Schema ของ table ทั้งหมดในฐานข้อมูล
> หา User ที่ login ครั้งสุดท้ายเมื่อ 30 วันที่แล้ว
> วิเคราะห์ Performance ของ Query นี้และเสนอวิธี Optimize
> สร้าง Migration Script เพื่อเพิ่ม column "deleted_at" ใน users table

⚠️ ใช้ Read-only User เสมอ
สำหรับ Production Database ให้ Claude เชื่อมต่อด้วย User ที่มีสิทธิ์แค่ SELECT เท่านั้น ป้องกันการแก้ไขข้อมูลโดยไม่ตั้งใจ

MCP Slack — อ่านและส่งข้อความใน Slack
// สร้าง Slack App ที่ api.slack.com → Your Apps
// เพิ่ม scopes: channels:read, chat:write, files:read
 
{
  "mcpServers": {
    "slack": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_BOT_TOKEN": "xoxb-xxxxxxxxxxxx",
        "SLACK_TEAM_ID": "T0XXXXXXXXX"
      }
    }
  }
}

ตัวอย่างการใช้งาน

> สรุปข้อความใน #general ช่วง 2 วันที่ผ่านมา
> หาข้อความที่พูดถึง "deployment issue" ใน #engineering
> ส่งข้อความแจ้ง deploy เสร็จแล้วไปที่ #releases
MCP Brave Search — ค้นหาอินเทอร์เน็ตแบบ Privacy-friendly
// สมัคร API Key ที่ brave.com/search/api
{
  "mcpServers": {
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"],
      "env": {
        "BRAVE_API_KEY": "BSA-xxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

สรุปการจัดการ MCP

# ดู MCP Server ที่เชื่อมต่ออยู่
/mcp
 
# Restart MCP Server (เมื่อแก้ settings.json แล้ว)
/mcp restart
 
# ดู logs ของ MCP (debug เมื่อมีปัญหา)
/mcp logs filesystem

💡 ใช้ MCP หลายตัวพร้อมกัน
สามารถเพิ่ม MCP Server หลายตัวใน settings.json พร้อมกันได้ Claude จะเลือกใช้ tool ที่เหมาะสมเองอัตโนมัติ ไม่ต้องระบุทุกครั้ง

Git ร่วมกับ Claude Code — คู่มือฉบับสมบูรณ์

Git เป็นทักษะสำคัญที่ Developer ทุกคนต้องใช้ การใช้ Claude Code ร่วมกับ Git ช่วยให้จัดการโค้ด เขียน Commit Message และ Review Code ได้เร็วและถูกต้องกว่าเดิมมาก

พื้นฐาน Git ที่ต้องรู้

Repository (Repo)โฟลเดอร์โปรเจคที่ Git ดูแล มีโฟลเดอร์ .git ซ่อนอยู่
Commitการบันทึก snapshot ของโค้ด ณ เวลานั้น มี ID เป็น hash
Branchสาขาของ Commit history ใช้พัฒนาฟีเจอร์แยกโดยไม่กระทบ main
Staging Areaพื้นที่พักไฟล์ก่อน Commit (git add นำไฟล์เข้ามาที่นี่)
RemoteRepository บน Server เช่น GitHub, GitLab ใช้ push/pull ข้อมูล
HEADตำแหน่งปัจจุบันที่อยู่ใน history โดยปกติคือ Commit ล่าสุด
Working Treeไฟล์ในโฟลเดอร์ปัจจุบัน ยังไม่ถูก Commit

Workflow ที่แนะนำ: Claude Code + Git

Workflow มาตรฐานที่ใช้ Claude ช่วยในทุกขั้นตอน:

1เริ่ม Feature ใหม่: สร้าง Branch
สร้าง Branch ใหม่สำหรับแต่ละ Feature เสมอ ไม่ทำงานบน main โดยตรง
# สร้างและสลับไปที่ Branch ใหม่
git checkout -b feature/user-authentication
 
# หรือใช้คำสั่งใหม่
git switch -c feature/user-authentication
 
# ตั้งชื่อ Branch ให้สื่อความหมาย เช่น
# feature/xxx  = ฟีเจอร์ใหม่
# fix/xxx      = แก้บัก
# refactor/xxx = ปรับโครงสร้างโค้ด
# docs/xxx     = อัปเดตเอกสาร
2พัฒนาโค้ดร่วมกับ Claude
ใช้ Claude Code ช่วยเขียนและแก้ไขโค้ด
# เริ่ม Claude Code
claude
 
# สั่งงาน Claude
> สร้าง JWT Authentication middleware สำหรับ Express.js
  ให้มี refresh token และ revocation ด้วย
3ดูการเปลี่ยนแปลงก่อน Commit
ตรวจสอบว่าโค้ดที่เปลี่ยนถูกต้องก่อนบันทึก
# ดูไฟล์ที่เปลี่ยนแปลง
git status
 
# ดูรายละเอียดที่เปลี่ยน (Diff)
git diff
 
# ให้ Claude วิเคราะห์การเปลี่ยนแปลง
git diff | claude -p "รีวิวการเปลี่ยนแปลงนี้ มีปัญหาอะไรไหม"
4เพิ่มไฟล์เข้า Staging Area
เลือกไฟล์ที่ต้องการ Commit
# เพิ่มไฟล์ทั้งหมด
git add .
 
# เพิ่มเฉพาะบางไฟล์
git add src/middleware/auth.js src/utils/jwt.js
 
# เพิ่มทีละบางส่วนของไฟล์ (Interactive)
git add -p src/app.js
5เขียน Commit Message ด้วย Claude
ให้ Claude ช่วยเขียน Commit Message ที่ดีจาก Diff
# วิธีที่แนะนำ: ให้ Claude เขียน Commit Message
git diff --staged | claude -p "เขียน commit message ตาม
Conventional Commits format สำหรับการเปลี่ยนแปลงนี้"
 
# ตัวอย่าง Output ที่ Claude จะเขียนให้
# feat(auth): add JWT authentication middleware
#
# - Implement access token (15min) and refresh token (7d)
# - Add token revocation via Redis blacklist
# - Include rate limiting (10 requests/min)
6Commit โค้ด
บันทึก Commit ด้วย Message ที่ Claude ช่วยเขียน
# Commit ด้วย Message โดยตรง
git commit -m "feat(auth): add JWT authentication middleware"
 
# Commit พร้อมเปิด Editor เขียน Message ละเอียด
git commit
 
# Commit ไฟล์ทั้งหมดที่ติดตามอยู่ + บันทึก (ข้าม git add)
git commit -am "fix: correct token expiry calculation"
7Push ขึ้น Remote
ส่งโค้ดขึ้น GitHub/GitLab
# Push Branch ใหม่ครั้งแรก
git push -u origin feature/user-authentication
 
# Push ครั้งต่อไป (จำ Remote ไว้แล้ว)
git push

เทคนิค Git ที่ใช้ประจำร่วมกับ Claude

1. Code Review ก่อน Merge

ให้ Claude รีวิวโค้ดทั้งหมดใน Branch ก่อนสร้าง Pull Request

# รีวิวทุกอย่างที่แตกต่างจาก main
git diff main...feature/my-feature | claude -p \
"รีวิวโค้ดนี้แบบ Senior Developer ตรวจสอบ
 security, performance, edge cases และ code quality"
 
# รีวิวเฉพาะไฟล์ที่เปลี่ยน
git diff main -- src/api/auth.js | claude -p "รีวิวส่วน auth นี้"

2. เขียน PR Description อัตโนมัติ

# สร้าง PR Description จาก Commit history
git log main..HEAD --oneline | \
  claude -p "เขียน Pull Request description จาก commits เหล่านี้
  รวมถึง Summary, Changes, Testing steps และ Screenshots needed"

3. แก้ Merge Conflict ด้วย Claude

เมื่อเกิด Conflict ระหว่าง Merge ให้ Claude ช่วยแก้ได้เลย

# สมมติ merge แล้วเกิด conflict
git merge main
# Auto-merging src/utils/auth.js
# CONFLICT (content): Merge conflict in src/utils/auth.js
 
# ให้ Claude แก้ Conflict
cat src/utils/auth.js | claude -p \
"แก้ merge conflict นี้ให้ถูกต้อง
 รักษา logic ของทั้งสอง branch ไว้"
 
# หรือสั่งใน Claude Code session
> แก้ merge conflict ใน @src/utils/auth.js
  ให้รักษา feature ของทั้ง main และ branch ปัจจุบัน

4. Git Bisect หาต้นเหตุของ Bug

Git Bisect ช่วยหา Commit ที่ทำให้เกิด Bug ด้วย Binary Search Claude ช่วยวิเคราะห์ผลได้

# เริ่ม bisect
git bisect start
git bisect bad                    # Commit ปัจจุบัน = มีบัก
git bisect good v1.0.0            # Commit ที่รู้ว่าดี
 
# Git จะ checkout Commit กลาง ให้ทดสอบแล้วบอกผล
git bisect good    # ถ้า commit นี้ไม่มีบัก
git bisect bad     # ถ้า commit นี้มีบัก
 
# ทำซ้ำจนพบต้นเหตุ แล้วให้ Claude วิเคราะห์
git show <bad-commit-hash> | claude -p "อธิบายว่า commit นี้ทำให้เกิดบักได้อย่างไร"
 
# จบ bisect
git bisect reset

5. Stash — เก็บงานชั่วคราว

เมื่อต้องสลับ Branch กะทันหันแต่งานยังไม่เสร็จ ใช้ Stash เก็บไว้ก่อน

# เก็บงานปัจจุบันไว้ชั่วคราว
git stash push -m "งาน auth middleware ยังไม่เสร็จ"
 
# สลับ Branch ไปแก้งานด่วน
git switch hotfix/payment-bug
# ... แก้บัก commit push ...
 
# กลับมาต่องานเดิม
git switch feature/user-authentication
git stash pop
 
# ดู stash ที่มีอยู่
git stash list

6. Interactive Rebase — จัดเรียง Commit

ใช้ก่อน Push เพื่อทำให้ Commit history สะอาดและอ่านง่าย

# แก้ไข 5 commits ล่าสุด
git rebase -i HEAD~5
 
# Commands ที่ใช้บ่อยใน editor:
# pick   = เก็บ commit นี้ไว้
# reword = เก็บไว้แต่แก้ message
# squash = รวมกับ commit ก่อนหน้า
# drop   = ลบ commit ออก
 
# ตัวอย่าง: รวม 3 commits เข้าเป็น 1
# pick   abc1234 feat: start auth
# squash def5678 feat: add refresh token
# squash ghi9012 feat: add revocation
 
# ให้ Claude เขียน Squash message
git log --oneline HEAD~3..HEAD | \
  claude -p "เขียน commit message สำหรับการรวม commits เหล่านี้"

⚠️ ห้าม Rebase Branch ที่ Push ไปแล้ว
Rebase เปลี่ยน Commit Hash ทำให้ history ไม่ตรงกับ Remote จะทำให้ทีมมีปัญหา ทำ Rebase เฉพาะ Commit ที่ยังไม่ได้ Push เท่านั้น

7. Git Hook + Claude (Automation)

สร้าง Git Hook ให้ Claude รีวิวโค้ดอัตโนมัติทุกครั้งก่อน Commit

# สร้างไฟล์ .git/hooks/pre-commit
#!/bin/bash
 
# ดึง diff ของสิ่งที่จะ commit
DIFF=$(git diff --staged)
 
# ถ้ามีการเปลี่ยนแปลง ให้ Claude รีวิว
if [ -n "$DIFF" ]; then
  echo "🤖 Claude กำลังรีวิวโค้ด..."
  REVIEW=$(echo "$DIFF" | claude -p \
    "รีวิวโค้ดนี้ ถ้ามีปัญหา critical ให้บอกและ exit 1")
  echo "$REVIEW"
fi
 
# ให้ไฟล์ run ได้
chmod +x .git/hooks/pre-commit

8. Conventional Commits — มาตรฐาน Commit Message

มาตรฐานการเขียน Commit Message ที่นิยมใช้ในโปรเจคระดับ Professional

Typeใช้เมื่อไหร่ตัวอย่าง
featเพิ่มฟีเจอร์ใหม่feat(auth): add OAuth2 login
fixแก้บักfix(api): correct status code on 404
refactorปรับโครงสร้างโค้ดrefactor(db): optimize query builder
docsอัปเดตเอกสารdocs(readme): add installation steps
testเพิ่ม/แก้ Teststest(auth): add JWT expiry test cases
choreงาน maintenance อื่นๆchore(deps): bump react to 19.0.0
perfปรับปรุง Performanceperf(search): add Redis caching
styleแก้ formatting ไม่เปลี่ยน logicstyle: fix indentation in utils
ciแก้ CI/CD configci: add staging deploy workflow
# ให้ Claude เขียน Conventional Commit message
git diff --staged | claude -p \
"เขียน commit message ตาม Conventional Commits format
 (feat/fix/refactor/docs/test/chore/perf/style/ci)
 มี scope และ body อธิบายรายละเอียด"

คำสั่ง Git ฉุกเฉินที่ต้องรู้

git restore ยกเลิกการเปลี่ยนแปลงในไฟล์ กลับเป็น Commit ล่าสุด
git restore —staged นำไฟล์ออกจาก Staging Area (ยกเลิก git add)
git commit —amendแก้ไข Commit ล่าสุด (message หรือเนื้อหา) ก่อน Push
git reset —soft HEAD~1ยกเลิก 1 Commit แต่เก็บโค้ดไว้ใน Staging
git reset —hard HEAD~1ยกเลิก 1 Commit และลบโค้ดทิ้ง (อันตราย!)
git reflogดูประวัติทุก action แม้แต่ที่ลบไปแล้ว ใช้กู้คืน
git cherry-pick นำ Commit เดียวมาใช้ใน Branch ปัจจุบัน
git revert สร้าง Commit ใหม่ที่ยกเลิก Commit เก่า (ปลอดภัยกว่า reset)

💡 ใช้ Claude ช่วยในสถานการณ์ฉุกเฉิน
ถ้าทำผิดใน Git แล้วไม่รู้จะแก้ยังไง ให้รัน git status และ git log —oneline -10 แล้วส่งให้ Claude บอกว่าเกิดอะไรขึ้น Claude จะแนะนำวิธีแก้ที่ปลอดภัยที่สุด

คำศัพท์ประจำบท

Extensionส่วนเสริมสำหรับ Code Editor เพิ่มความสามารถพิเศษ
Pluginส่วนเสริมสำหรับ IDE เช่น JetBrains เรียกว่า Plugin
MCP Serverโปรแกรมที่รับคำสั่งจาก Claude แล้วทำงานกับบริการภายนอก
Personal Access Tokenรหัสลับสำหรับเข้าถึง GitHub API แทนการใช้ Password
Repositoryโปรเจคที่ Git จัดการอยู่ มีประวัติ Commit ทั้งหมด
Branchสาขาของ Commit history ใช้พัฒนา Feature แยกโดยไม่กระทบ main
Mergeการรวม Branch หนึ่งเข้ากับอีก Branch
Rebaseการย้าย Commit ไปเริ่มต้นจาก Base ใหม่ ทำให้ history สะอาด
Stashการเก็บงานที่ยังไม่เสร็จไว้ชั่วคราว เพื่อสลับ Branch
Staging Areaพื้นที่พักไฟล์ก่อน Commit (git add นำไฟล์เข้ามา)
Pull Request (PR)คำขอรวมโค้ดจาก Branch หนึ่งเข้าอีก Branch พร้อม Review
Conventional Commitsมาตรฐาน Commit Message ที่ทำให้อ่านและ Auto-generate Changelog ได้
Git HookScript ที่รันอัตโนมัติเมื่อทำ Git action เช่น pre-commit, post-push
Conflictความขัดแย้งเมื่อสอง Branch แก้ไขบรรทัดเดียวกัน ต้องแก้ด้วยมือ