1. Quy tắc đặt msg cho commit
Để làm việc hiệu quả ai cũng biết commit đấy đã tác động gì đến dự án và cải thiện khả năng dò lỗi thì cần có quy tắc dưới đây là bộ quy tắc mà nhóm mình sẽ tuân theo (dĩ nhiên là tùy công ty họ sẽ có các quy tắc khác nhau nhưng về cơ bản sẽ tương tự như thế)
Các type phổ biến:
Type | Mô tả |
|---|---|
feat | Thêm tính năng |
fix | Sửa lỗi |
docs | Cập nhật tài liệu |
style | Format, không đổi logic |
refactor | Cải tổ code |
test | Thêm/sửa test |
chore | Việc phụ trợ (config, deps, build) |
perf | Tối ưu hiệu năng |
revert | Hoàn tác commit trước |
Ví dụ thực tế
git commit -m "feat: add Google login"
git commit -m "fix: handle null course ID"
git commit -m "docs: update installation guide"
git commit -m "style: format all files using Prettier"
git commit -m "refactor: simplify date formatter"
git commit -m "test: add test for course creation"
git commit -m "chore: upgrade express to v4.18.2"
git commit -m "revert: feat: add enroll feature"
Lưu ý:
-
Dùng thì hiện tại:
add,fix,update,… -
Không viết hoa toàn bộ, không chấm cuối câu.
2. Quy tắc đặt tên nhánh
Trong thực tế các dự án sẽ đặt tên nhánh theo tên chức năng hoặc tác động code mà đã làm. Mỗi nhánh có một chức năng riêng.
Cấu trúc tên nhánh:
<loại-nhánh>/<id hoặc từ khóa>-mô-tả-ngắn
Ví dụ:
-
feat/123-add-login -
fix/456-fix-redirect -
refactor/remove-unused-code -
docs/update-readme -
release/v1.0.0
Các loại nhánh phổ biến:
-
feat: thêm tính năng -
fix: sửa lỗi -
refactor: cải tổ code -
docs: cập nhật tài liệu -
test: viết hoặc sửa test -
chore: việc phụ trợ như cấu hình, update lib -
hotfix: sửa gấp trên production -
release: chuẩn bị bản phát hành
Quy tắc mô tả ngắn:
-
Dùng tiếng Anh không dấu
-
Viết bằng
kebab-case(dùng dấu-) -
Cố gắng ngắn gọn, dễ hiểu
Ví dụ lệnh:
git checkout -b feat/add-profile-page
git checkout -b fix/invalid-token