🚀 Git Auto Commit (gac)
June 18, 2026 · View on GitHub
🚀 Git Auto Commit (gac)
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | Tiếng Việt | Français | Русский | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano
Thông điệp commit được hỗ trợ bởi LLM, hiểu mã của bạn!
Tự động hóa commit của bạn! Thay thế git commit -m "..." bằng uvx gac để có thông điệp commit có ngữ cảnh, được định dạng tốt được tạo ra bởi các mô hình ngôn ngữ lớn!
Bạn Nhận Được Gì
Thông điệp thông minh, có ngữ cảnh giải thích tại sao đằng sau những thay đổi của bạn:

Bắt Đầu Nhanh
uvx gac init # Cấu hình nhà cung cấp, mô hình và ngôn ngữ của bạn
uvx gac # Tạo và commit với LLM
Chỉ vậy thôi! Xem lại thông điệp đã tạo và xác nhận bằng y.
Tính Năng Chính
33+ Nhà Cung Cấp Hỗ Trợ
- Anthropic • Azure OpenAI • Cerebras • ChatGPT (OAuth) • Chutes.ai • Claude Code (OAuth)
- Crof.ai • DeepInfra • DeepSeek • Fireworks • Gemini • GitHub Copilot (OAuth) • Groq
- Kimi for Coding • Lilac • LM Studio • MiniMax.io • Mistral AI • Moonshot AI • Neuralwatt • Ollama
- Ollama Cloud • OpenAI • OpenCode Go • OpenRouter • Plexus Gateway • Qwen Cloud (CN & INTL)
- Replicate • Streamlake/Vanchin • Synthetic.new • Together AI • Wafer.ai • Z.AI (API & Coding Plans)
- Custom Endpoints (Anthropic/OpenAI)
🧠 Phân Tích LLM Thông Minh
- Hiểu ý định: Phân tích cấu trúc mã, logic và các mẫu để hiểu "tại sao" đằng sau những thay đổi của bạn, không chỉ những gì đã thay đổi
- Nhận thức ngữ nghĩa: Nhận biết tái cấu trúc, sửa lỗi, tính năng và các thay đổibreaking để tạo thông điệp commit có ngữ cảnh phù hợp
- Lọc thông minh: Ưu tiên các thay đổi có ý nghĩa trong khi bỏ qua các tệp được tạo, phụ thuộc và artifacts
- Nhóm commit thông minh - Tự động nhóm các thay đổi liên quan thành nhiều commit logic với
--group
📝 Nhiều Định Dạng Thông Điệp
- Một dòng (-o flag): Thông điệp commit một dòng theo định dạng commit tiêu chuẩn
- Tiêu chuẩn (mặc định): Tóm tắt với các gạch đầu dòng giải thích chi tiết triển khai
- Chi tiết (-v flag): Giải thích toàn diện bao gồm động cơ, cách tiếp cận kỹ thuật và phân tích tác động
- Quy tắc 50/72 (cờ --50-72): Áp dụng định dạng tin nhắn commit cổ điển để dễ đọc tối ưu trong git log và GitHub UI
- DCO/Signoff (cờ --signoff): Thêm dòng Signed-off-by để tuân thủ Developer Certificate of Origin (bắt buộc bởi Cherry Studio, Linux kernel và các dự án khác)
🌍 Hỗ Trợ Đa Ngôn Ngữ
- 25+ ngôn ngữ: Tạo thông điệp commit bằng tiếng Anh, tiếng Trung, tiếng Nhật, tiếng Hàn, tiếng Tây Ban Nha, tiếng Pháp, tiếng Đức và 18+ ngôn ngữ khác
- Dịch linh hoạt: Chọn giữ tiền tố commit tiêu chuẩn bằng tiếng Anh để tương thích công cụ, hoặc dịch hoàn toàn chúng
- Nhiều quy trình làm việc: Đặt ngôn ngữ mặc định với
uvx gac language, hoặc sử dụng flag-l <language>để ghi đè một lần - Hỗ trợ chữ viết gốc: Hỗ trợ đầy đủ cho các chữ viết không phải Latin bao gồm CJK, Cyrillic, Thai và nhiều hơn nữa
💻 Trải Nghiệm Nhà Phát Triển
- Phản hồi tương tác: Gõ
rđể reroll,eđể chỉnh sửa (TUI tại chỗ mặc định, hoặc$GAC_EDITORnếu đã đặt), hoặc gõ trực tiếp phản hồi của bạn nhưlàm nó ngắn hơnhoặctập trung vào sửa lỗi - Hỏi đáp tương tác: Sử dụng
--interactive(-i) để trả lời các câu hỏi nhắm mục tiêu về các thay đổi của bạn để có thông điệp commit có nhiều ngữ cảnh hơn - Quy trình làm việc một lệnh: Quy trình làm việc hoàn chỉnh với các flag như
uvx gac -ayp(stage tất cả, tự động xác nhận, push) - Tích hợp Git: Tôn các hook pre-commit và lefthook, chạy chúng trước các thao tác LLM tốn kém
- MCP server: Chạy
uvx gac serveđể cung cấp công cụ commit cho AI agent thông qua Model Context Protocol
📊 Thống Kê Sử Dụng
uvx gac stats # Tổng quan: tổng gac, chuỗi, đỉnh hàng ngày/hàng tuần, dự án và mô hình hàng đầu
uvx gac stats models # Chi tiết theo mô hình: gac, token, độ trễ, tốc độ, biểu đồ độ trễ theo commit
uvx gac stats projects # Chi tiết theo dự án: gac, commit, token, tệp trung bình mỗi gac trên tất cả repo
uvx gac stats recent # Lịch sử gac gần đây: token, tốc độ, độ trễ, tệp mỗi gac (-n 20 cho thêm)
uvx gac stats reset # Đặt lại tất cả thống kê (yêu cầu xác nhận)
uvx gac stats reset model <model-id> # Chỉ đặt lại thống kê cho một mô hình cụ thể
- Theo dõi các gac của bạn: Xem bạn đã thực hiện bao nhiêu commit với gac, chuỗi hiện tại, hoạt động đỉnh hàng ngày/hàng tuần, và các dự án hàng đầu
- Theo dõi token: Tổng token prompt, output và suy luận theo ngày, tuần, dự án và mô hình — với cúp kỷ lục cho việc sử dụng token
- Mô hình hàng đầu: Xem mô hình nào bạn sử dụng nhiều nhất và mỗi mô hình tiêu thụ bao nhiêu token
- Ăn mừng điểm cao: 🏆 cúp khi bạn thiết lập kỷ lục hàng ngày, hàng tuần, token, hoặc chuỗi mới; 🥈 khi ngang bằng
- Chọn tham gia khi cài đặt:
uvx gac inithỏi bạn có muốn bật thống kê và giải thích chính xác những gì được lưu trữ - Từ chối bất cứ lúc nào: Đặt
GAC_DISABLE_STATS=true(hoặc1/yes/on) để vô hiệu hóa. Đặt thànhfalse/0/no(hoặc bỏ đặt) giữ thống kê được bật - Ưu tiên quyền riêng tư: Lưu trữ cục bộ trong
~/.gac_stats.json. Chỉ số lượng, ngày tháng, tên dự án và tên mô hình — không có thông điệp commit, mã, hay dữ liệu cá nhân. Không thu thập dữ liệu từ xa
🛡️ Bảo Mật Tích Hợp
- Phát hiện bí mật tự động: Quét các khóa API, mật khẩu và token trước khi commit
- Bảo vệ tương tác: Gợi ý trước khi commit dữ liệu nhạy cảm tiềm tàng với các tùy chọn khắc phục rõ ràng
- Lọc thông minh: Bỏ qua các tệp ví dụ, tệp mẫu và văn bản giữ chỗ để giảm các dương tính giả
Ví Dụ Sử Dụng
Quy Trình Cơ Bản
# Stage các thay đổi của bạn
git add .
# Tạo và commit với LLM
uvx gac
# Xem lại → y (commit) | n (hủy) | r (reroll) | e (chỉnh sửa) | hoặc gõ phản hồi
Lệnh Thông Dụng
| Lệnh | Mô t� |
|---|---|
uvx gac | Tạo thông điệp commit |
uvx gac -y | Tự động xác nhận (không cần xem lại) |
uvx gac -a | Stage tất cả trước khi tạo thông điệp commit |
uvx gac -S | Chọn tệp tương tác để stage |
uvx gac -o | Thông điệp một dòng cho các thay đổi nhỏ |
uvx gac -v | Định dạng chi tiết với Động cơ, Cách tiếp cận Kỹ thuật, và Phân tích Tác động |
uvx gac -h "gợi ý" | Thêm ngữ cảnh cho LLM (ví dụ, uvx gac -h "sửa lỗi") |
uvx gac -s | Bao gồm phạm vi (ví dụ, feat(auth):) |
uvx gac -i | Hỏi về các thay đổi để có ngữ cảnh tốt hơn |
uvx gac -g | Nhóm các thay đổi thành nhiều commit logic |
uvx gac -p | Commit và push |
uvx gac model | Đổi nhà cung cấp và mô hình AI |
uvx gac stats | Xem thống kê sử dụng gac của bạn |
Ví Dụ Người Dùng Nâng Cao
# Quy trình hoàn chỉnh trong một lệnh
# Xem thống kê commit của bạn
uvx gac stats
# Thống kê tất cả dự án
uvx gac stats projects
uvx gac -ayp -h "chuẩn bị phát hành"
# Giải thích chi tiết với phạm vi
uvx gac -v -s
# Thông điệp một dòng nhanh cho các thay đổi nhỏ
uvx gac -o
# Tạo thông điệp commit bằng một ngôn ngữ cụ thể
uvx gac -l vi
# Nhóm các thay đổi thành các commit logic liên quan
uvx gac -ag
# Chế độ tương tác với đầu ra chi tiết cho giải thích chi tiết
uvx gac -iv
# Gỡ lỗi xem LLM thấy gì
uvx gac --show-prompt
# Bỏ qua quét bảo mật (sử dụng cẩn thận)
uvx gac --skip-secret-scan
# Thêm signoff để tuân thủ DCO (Cherry Studio, Linux kernel, v.v.)
uvx gac --signoff
Hệ Thống Phản Hồi Tương Tác
Không hài lòng với kết quả? Bạn có một số tùy chọn:
# Reroll đơn giản (không có phản hồi)
r
# Chỉnh sửa thông điệp commit
e
# Hoặc chỉ gõ phản hồi của bạn trực tiếp!
làm nó ngắn hơn và tập trung vào cải thiện hiệu suất
sử dụng định dạng commit tiêu chuẩn với phạm vi
giải thích các tác động bảo mật
# Nhấn Enter trên input trống để xem gợi ý lại
Tính năng chỉnh sửa (e) cho phép bạn tinh chỉnh thông điệp commit:
- Mặc định (TUI tại chỗ): Chỉnh sửa đa dòng với phím tắt vi/emacs — sửa lỗi chính tả, điều chỉnh từ ngữ, tái cấu trúc
- Với
GAC_EDITOR: Mở trình soạn thảo ưa thích (code,vim,nano, v.v.) — toàn bộ sức mạnh trình soạn thảo bao gồm tìm/thay thế, macro, v.v.
Trình soạn thảo GUI như VS Code được xử lý tự động: gac chèn --wait để quy trình chặn cho đến khi bạn đóng tab trình soạn thảo. Không cần cấu hình thêm.
Cấu Hình
Chạy uvx gac init để cấu hình nhà cung cấp của bạn một cách tương tác, hoặc đặt các biến môi trường:
Cần thay đổi nhà cung cấp hoặc mô hình sau này mà không ảnh hưởng đến cài đặt ngôn ngữ? Sử dụng uvx gac model cho quy trình hợp lý bỏ qua các gợi ý ngôn ngữ.
Xem .gac.env.example cho tất cả các tùy chọn có sẵn.
Muốn thông điệp commit bằng ngôn ngữ khác? Chạy uvx gac language để chọn từ 25+ ngôn ngữ bao gồm Español, Français, 日本語 và nhiều hơn nữa.
Muốn tùy chỉnh kiểu thông điệp commit? Xem docs/CUSTOM_SYSTEM_PROMPTS.md để được hướng dẫn viết các gợi ý hệ thống tùy chỉnh.
Nhận Trợ Giúp
- Tài liệu đầy đủ: USAGE.md - Tham chiếu CLI hoàn chỉnh
- MCP server: docs/MCP.md - Sử dụng GAC làm MCP server cho AI agent
- Claude Code OAuth: docs/CLAUDE_CODE.md - Cài đặt và xác thực Claude Code
- ChatGPT OAuth: docs/CHATGPT_OAUTH.md - Cài đặt và xác thực ChatGPT OAuth
- Gợi ý tùy chỉnh: CUSTOM_SYSTEM_PROMPTS.md - Tùy chỉnh kiểu thông điệp commit
- Thống kê sử dụng: Xem
uvx gac stats --helphoặc tài liệu đầy đủ - Xử lý sự cố: TROUBLESHOOTING.md - Các vấn đề phổ biến và giải pháp
- Đóng góp: CONTRIBUTING.md - Thiết lập phát triển và hướng dẫn