← Quay lại Blog
AI & Công Cụ 13 Mar 2026 22 phút đọc

Claude Code Chuyên Sâu: Git, Worktrees, Skills, Commands và Agents

Khám phá sức mạnh thực sự của Claude Code: làm việc song song với Git Worktrees, đóng gói kỹ năng tái sử dụng với Skills, xây dựng Subagents chuyên biệt và kết hợp tất cả thành workflow tự động.

Lưu ý: Bài này dành cho người đã biết cơ bản về Claude Code và muốn hiểu sâu các tính năng nâng cao. Nếu bạn mới bắt đầu, hãy đọc Claude Code cho Người Mới Bắt Đầu trước.


Mục Lục

  1. Giới thiệu Claude Code
  2. Git & GitHub — Nền tảng cần hiểu
  3. Claude Code và Git — Làm việc tự động
  4. Git Worktrees — Làm việc song song
  5. Skills — Kỹ năng tái sử dụng
  6. Commands — Lệnh tắt & Hệ thống lệnh
  7. Memory — CLAUDE.md & Auto Memory
  8. Agents & Subagents — Đại lý chuyên biệt
  9. Kết hợp tất cả — Workflow thực tế

1. Giới thiệu Claude Code

Claude Code là công cụ lập trình AI của Anthropic chạy trực tiếp trong terminal (command line). Thay vì chỉ gợi ý code, Claude Code thực sự làm việc — đọc file, viết file, chạy lệnh, kiểm tra lỗi, tạo branch Git — tất cả đều tự động.

Claude Code không phải là một chatbot thông thường. Nó là một agentic coding tool — nghĩa là nó có khả năng tự mình thực hiện nhiều bước liên tiếp để hoàn thành một nhiệm vụ phức tạp.

Nơi có thể dùng:

  • Terminal (macOS, Linux, Windows)
  • VS Code (qua extension)
  • JetBrains IDEs
  • Claude Desktop App

2. Git & GitHub — Nền tảng cần hiểu

Trước khi tìm hiểu Claude Code làm việc với Git như thế nào, bạn cần hiểu các khái niệm cơ bản sau.

Repository (Repo) là gì?

Repository (thường gọi tắt là repo) là một thư mục chứa toàn bộ mã nguồn của một dự án, cùng với toàn bộ lịch sử thay đổi. Hãy nghĩ nó như một “thư mục thông minh” — nó không chỉ lưu file hiện tại mà còn ghi lại mọi thay đổi từ trước đến nay.

my-project/         <- đây là repo
├── .git/           <- thư mục đặc biệt Git tạo ra (không chỉnh sửa thủ công)
├── src/
│   └── app.ts
├── tests/
│   └── app.test.ts
└── README.md

Branch là gì?

Branch (nhánh) là một “phiên bản song song” của code. Hãy nghĩ như thế này:

  • main branch = phiên bản chính thức, ổn định, đang chạy trên production
  • feature-login branch = phiên bản đang phát triển tính năng đăng nhập
  • fix-bug-123 branch = phiên bản đang sửa lỗi số 123

Bạn có thể tạo nhiều branch, làm việc trên từng branch độc lập, rồi merge (gộp) chúng lại khi xong.

Các khái niệm Git cơ bản

Lệnh/Khái niệmNghĩa
git commitLưu một “checkpoint” — ảnh chụp code tại thời điểm này
git pushĐẩy code từ máy tính lên GitHub
git pullKéo code mới nhất từ GitHub về máy
git checkout -b tên-branchTạo một branch mới và chuyển sang đó
git mergeGộp code từ branch này sang branch khác
Pull Request (PR)Yêu cầu review trước khi merge code vào main

3. Claude Code và Git — Làm việc tự động

Claude Code hiểu Git một cách sâu sắc. Nó không chỉ chạy lệnh Git — nó đọc lịch sử commits để hiểu ngữ cảnh của dự án.

Claude tự động tạo branch mới

Khi bạn yêu cầu Claude thêm tính năng mới, nó sẽ tự động tạo branch mới thay vì làm việc trực tiếp trên main:

# Bạn nói với Claude:
"Thêm tính năng đăng nhập bằng Google"

# Claude tự động chạy:
git checkout -b feature-google-login
# ... làm việc, sửa file, viết code ...
git add .
git commit -m "feat: add Google OAuth login integration"

Claude tuân theo quy ước Conventional Commits khi viết commit message:

  • feat: — tính năng mới
  • fix: — sửa lỗi
  • refactor: — tái cấu trúc code
  • test: — thêm/sửa test
  • docs: — cập nhật tài liệu

Tạo Pull Request tự động

Claude Code tích hợp với GitHub CLI (gh). Khi bạn nói “tạo PR cho tính năng này”, Claude sẽ tự viết title và description dựa trên những gì nó vừa làm.

Resume session từ PR

# Mở lại session đã liên kết với PR số 42:
claude --from-pr 42

Claude sẽ tải lại ngữ cảnh của PR đó và tiếp tục từ đúng chỗ đã dừng.


4. Git Worktrees — Làm việc song song

Đây là một trong những tính năng mạnh mẽ và khác biệt nhất của Claude Code.

Worktree là gì?

Trong Git thông thường, bạn chỉ có thể làm việc trên một branch tại một thời điểm. Git Worktrees giải quyết vấn đề này: bạn có thể có nhiều thư mục làm việc cùng trỏ đến cùng một repo, mỗi thư mục ở một branch khác nhau — tất cả hoạt động song song.

my-project/                <- thư mục chính (branch: main)
.claude/worktrees/
├── feature-auth/          <- worktree 1 (branch: worktree-feature-auth)
├── fix-payment/           <- worktree 2 (branch: worktree-fix-payment)
└── refactor-db/           <- worktree 3 (branch: worktree-refactor-db)

Tạo worktree với Claude Code

# Đặt tên cụ thể:
claude --worktree feature-auth

# Tên tự động (ngẫu nhiên kiểu thơ như: bright-running-fox):
claude --worktree

Hành vi dọn dẹp worktree

Tình huốngHành vi
Hoàn thành xong, không có thay đổiTự động xóa worktree
Hoàn thành xong, có thay đổi chưa commitHỏi người dùng có muốn giữ không

Nên thêm .claude/worktrees/ vào .gitignore để không track chúng.


5. Skills — Kỹ năng tái sử dụng

Skills là các hướng dẫn đóng gói thành module tái sử dụng. Chúng là cách bạn dạy Claude làm một việc cụ thể theo cách của bạn.

Skills = Hướng dẫn + Quy trình (Claude đọc và thực hiện theo)

Commands = Lệnh tắt tích hợp sẵn (như /compact, /clear)

Cấu trúc của một Skill

Mỗi skill là một thư mục chứa file SKILL.md:

~/.claude/skills/
└── explain-code/
    ├── SKILL.md         <- file chính (bắt buộc)
    └── examples/
        └── sample.md   <- ví dụ mẫu (tùy chọn)
---
name: explain-code
description: Giải thích code bằng sơ đồ và phép so sánh.
---

Khi giải thích code, luôn:
1. Bắt đầu bằng một phép so sánh với đời thực
2. Vẽ sơ đồ ASCII để minh họa luồng/cấu trúc
3. Giải thích từng bước xảy ra
4. Chỉ ra một "cạm bẫy" phổ biến

Vị trí lưu Skills và phạm vi áp dụng

Vị tríPhạm vi
~/.claude/skills/<tên>/Tất cả dự án của bạn (cá nhân)
.claude/skills/<tên>/Chỉ dự án hiện tại

Skills tích hợp sẵn quan trọng

/simplify — Dọn dẹp code vừa viết

Skill này tự động spawn 3 review agent song song: kiểm tra tái sử dụng code, chất lượng code, hiệu quả — rồi tổng hợp và áp dụng các cải tiến.

/simplify focus on memory efficiency

/batch <hướng dẫn> — Thay đổi quy mô lớn song song

/batch migrate src/ from Solid to React

Claude nghiên cứu, chia nhỏ công việc thành 5–30 đơn vị, trình bày kế hoạch để bạn duyệt, rồi spawn một background agent cho mỗi đơn vị trong worktree Git riêng — mỗi agent implement, chạy test, và mở PR.

/loop [khoảng thời gian] <prompt> — Lặp định kỳ

/loop 5m check if the deploy finished

Truyền tham số vào Skill

---
name: fix-issue
---
Sửa GitHub issue $ARGUMENTS theo coding standards của dự án.

Gọi bằng: /fix-issue 123$ARGUMENTS = "123"

Nhiều tham số: /migrate-component SearchBar React Vue

Migrate the $0 component from $1 to $2.

Inject động context vào Skill

Cú pháp !`lệnh-shell` chạy shell command trước khi gửi cho Claude:

---
name: pr-summary
context: fork
agent: Explore
allowed-tools: Bash(gh *)
---

## Ngữ cảnh Pull Request
- PR diff: !`gh pr diff`
- PR comments: !`gh pr view --comments`

## Nhiệm vụ
Tóm tắt pull request này...

6. Commands — Lệnh tắt & Hệ thống lệnh

/ trong Claude Code để xem tất cả commands có sẵn.

Session & Context

CommandMô tả
/resume [session]Mở lại session cũ
/fork [tên]Tạo “nhánh” riêng của cuộc trò chuyện
/compact [hướng dẫn]Nén lịch sử (tiết kiệm context window)
/clearBắt đầu session mới
/rewindQuay lại điểm trước
/contextXem lượng context đang dùng

Git & PR

CommandMô tả
/diffDiff viewer tương tác
/pr-comments [PR]Lấy comments từ GitHub PR
/reviewReview PR về quality, correctness, security
/security-reviewPhân tích lỗ hổng bảo mật

Keyboard Shortcuts quan trọng

Phím tắtTác dụng
Ctrl+CHủy input hoặc generation
Ctrl+BBackground task đang chạy
Ctrl+THiện/ẩn task list
Ctrl+GMở editor để viết prompt dài
Alt+TToggle extended thinking
Esc EscRewind/summarize

Bash mode

! trước lệnh để chạy trực tiếp trong shell (không qua Claude):

! npm test
! git status

7. Memory — CLAUDE.md & Auto Memory

Claude Code có hai hệ thống bộ nhớ riêng biệt.

CLAUDE.md — Hướng dẫn bạn viết

CLAUDE.md là file markdown bạn tự viết, được đọc vào context window đầu mỗi session.

Vị tríÁp dụng cho
~/.claude/CLAUDE.mdTất cả dự án của bạn
./CLAUDE.mdDự án hiện tại (chia sẻ qua git)
./CLAUDE.local.mdChỉ bạn, dự án này (không commit)

Tạo tự động: Dùng /init — Claude phân tích codebase và tạo file với build commands, conventions.

Import file khác:

See @README for project overview.
See @package.json for npm commands.

Auto Memory — Claude tự ghi nhớ

Claude tự động ghi chú cho mình dựa trên những gì học được từ bạn. 200 dòng đầu của MEMORY.md được load tự động vào mỗi session.

~/.claude/projects/<project>/memory/
├── MEMORY.md
├── debugging.md
└── api-conventions.md

Bạn có thể nói: “Nhớ rằng project này dùng pnpm, không dùng npm” → Claude tự lưu.


8. Agents & Subagents — Đại lý chuyên biệt

Đây là tính năng nâng cao và mạnh mẽ nhất của Claude Code.

Subagent là gì?

Subagent là một phiên bản Claude Code chuyên biệt, có thể có:

  • Model riêng (Haiku, Sonnet, Opus)
  • Bộ tool riêng
  • Memory riêng
  • Worktree Git riêng (cô lập hoàn toàn)

Quan trọng: Chỉ thread chính mới có thể spawn subagents. Subagent không thể spawn subagent khác.

Subagents tích hợp sẵn

SubagentModelToolsMục đích
ExploreHaiku (nhanh, rẻ)Read, Grep, Glob (chỉ đọc)Tìm kiếm codebase nhanh
PlaninheritHạn chếLập kế hoạch

Cấu trúc file Subagent

~/.claude/agents/   <- agents cá nhân
.claude/agents/     <- agents dự án
---
name: code-reviewer
description: Review code về quality, correctness và security. Dùng khi cần review thay đổi.
tools: Read, Grep, Glob
model: sonnet
maxTurns: 20
---

Bạn là một code reviewer chuyên nghiệp. Khi review:
1. Kiểm tra correctness — logic có đúng không?
2. Kiểm tra security — có lỗ hổng bảo mật không?
3. Kiểm tra performance — có thể tối ưu không?

Đưa ra nhận xét cụ thể với severity levels (Critical/High/Medium/Low).

Các tùy chọn permissionMode

ModeHành vi
defaultHỏi trước mỗi tool call
acceptEditsTự động chấp nhận file edits
dontAskKhông bao giờ hỏi (tự động approve)
planChỉ lập kế hoạch, không thực thi

Isolation với Worktree

isolation: worktree

Subagent được tạo một worktree Git riêng, làm việc hoàn toàn cô lập. Nếu không có thay đổi khi kết thúc: tự động xóa. Nếu có: hỏi người dùng.

Ví dụ subagents thực tế

Code Reviewer — chỉ đọc

---
name: code-reviewer
description: Review code về quality, security. Dùng sau khi implement feature.
tools: Read, Grep, Glob
model: sonnet
---
Review và report vấn đề, không sửa code.

DB Reader — chặn SQL write

---
name: db-reader
description: Query database, CHỈ đọc, không sửa data.
hooks:
  PreToolUse:
    - matcher: "Bash"
      hooks:
        - type: block
          condition: "echo \"$CLAUDE_TOOL_INPUT\" | grep -qiE 'INSERT|UPDATE|DELETE|DROP'"
          blockMessage: "SQL write operations không được phép"
---
Chỉ sử dụng SELECT statements.

Cách Claude tự động chọn subagent

Claude quyết định delegate dựa trên description field. Hãy viết description rõ ràng, có từ khóa mà người dùng tự nhiên nói.


9. Kết hợp tất cả — Workflow thực tế

Phát triển feature lớn với nhiều agent song song

Bạn: "Thêm hệ thống authentication với email/password và OAuth Google"

Claude:
1. Tạo worktree: .claude/worktrees/feature-auth/
2. Spawn song song:
   - Explore agent: nghiên cứu codebase hiện tại
   - Plan agent: thiết kế kiến trúc
3. Implement: AuthService, UserModel, routes + tests
4. code-reviewer agent: review toàn bộ thay đổi
5. /simplify: dọn dẹp code
6. Create PR: "feat: add email/password and Google OAuth"

Refactor lớn với /batch

/batch migrate all API handlers from Express to Fastify

Claude chia thành 15 đơn vị độc lập → 15 background agents chạy song song, mỗi agent trong worktree riêng → mỗi agent tạo PR riêng khi xong.

Debug với memory

Bạn: "Tại sao auth middleware bị fail?"

Claude (với debugger agent):
1. Đọc MEMORY.md: "Project dùng JWT RS256, secret stored in JWT_PRIVATE_KEY"
   (đã ghi nhớ từ session trước)
2. Đọc error logs => phát hiện JWT_PRIVATE_KEY không load đúng trong test env
3. Fix: cập nhật test setup
4. Ghi nhớ: "JWT tests cần mock process.env.JWT_PRIVATE_KEY"

Bài viết được cập nhật lần cuối: 13/03/2026. Thông tin dựa trên tài liệu chính thức từ Anthropic.

Bạn muốn trao đổi thêm về chủ đề này?

Đội ngũ INNOMOUNT SDS sẵn sàng tư vấn miễn phí cho doanh nghiệp của bạn.

Liên Hệ Tư Vấn →