Skip to content

Instantly share code, notes, and snippets.

@xnohat
Created February 6, 2026 06:52
Show Gist options
  • Select an option

  • Save xnohat/36d3ec103fc43cb1d1e7ad911751ce1b to your computer and use it in GitHub Desktop.

Select an option

Save xnohat/36d3ec103fc43cb1d1e7ad911751ce1b to your computer and use it in GitHub Desktop.

Git Rules

Commit Messages Convention

Format chuẩn

(): Types bắt buộc

Type Mô tả
feat Tính năng mới
fix Sửa bug
docs Thay đổi documentation
style Format code (không ảnh hưởng logic)
refactor Refactor code (không fix bug, không thêm feature)
perf Cải thiện performance
test Thêm/sửa tests
chore Thay đổi build process, tools, dependencies
ci Thay đổi CI/CD config
revert Revert commit trước

Quy tắc viết commit message

  • Subject line tối đa 50 ký tự
  • Subject viết dạng imperative: "add feature" KHÔNG PHẢI "added feature"
  • Subject KHÔNG kết thúc bằng dấu chấm
  • Body wrap ở 72 ký tự
  • Body giải thích WHAT và WHY, không phải HOW
  • Dùng tiếng Anh cho commit messages

Ví dụ tốt feat(auth): add JWT refresh token support Implement automatic token refresh when access token expires. This prevents users from being logged out unexpectedly. Closes #123

Ví dụ xấu (KHÔNG LÀM) ❌ fixed stuff ❌ update code ❌ WIP ❌ changes ❌ feat: Add new feature for user authentication system that allows users to login.

Branch Naming Convention

Format /- Types

Type Mô tả
feature/ Tính năng mới
fix/ Sửa bug
hotfix/ Sửa bug khẩn cấp trên production
refactor/ Refactor code
docs/ Documentation
test/ Testing
chore/ Maintenance tasks

Quy tắc

  • Dùng lowercase
  • Dùng dấu gạch ngang - thay vì underscore _
  • Ngắn gọn nhưng mô tả được mục đích
  • Bao gồm ticket/issue ID nếu có Ví dụ

✅ feature/123-add-user-auth ✅ fix/456-login-redirect-loop ✅ hotfix/789-payment-crash ✅ refactor/optimize-database-queries

❌ Feature/AddAuth ❌ my-branch ❌ test123 ❌ feature/add_new_feature_for_user_authentication_system

Git Workflow Rules PHẢI LÀM (MUST DO)

  • Luôn git status trước khi commit

  • Luôn git diff để review changes trước khi commit

  • Luôn viết commit message có ý nghĩa

  • Commit thường xuyên, mỗi commit là một logical unit

  • Pull/fetch trước khi bắt đầu làm việc

  • Tạo branch mới cho mỗi feature/fix KHÔNG ĐƯỢC LÀM (MUST NOT)

  • ❌ KHÔNG git push --force lên main/master

  • ❌ KHÔNG git reset --hard trên shared branches

  • ❌ KHÔNG commit trực tiếp lên main/master

  • ❌ KHÔNG commit files chứa secrets (.env, credentials)

  • ❌ KHÔNG commit node_modules, vendor, build artifacts

  • ❌ KHÔNG dùng git add . mà không review trước

  • ❌ KHÔNG rebase public/shared branches

CẦN HỎI USER TRƯỚC KHI

  • Push lên remote repository
  • Merge/rebase branches
  • Delete branches
  • Amend commits đã push
  • Force push (nếu thực sự cần thiết)

Protected Files (KHÔNG commit)

Environment

.env .env.* *.env

Credentials

credentials secret *.pem *.key *_rsa *_dsa

IDE

.idea/ .vscode/ *.swp

Dependencies

node_modules/ vendor/ pycache/

Build

dist/ build/ *.log


Pre-commit Checklist

Trước mỗi commit, Claude PHẢI verify:

  1. Code quality - Code đã được format - Không có console.log/print debug - Không có commented-out code
  2. Security - Không có hardcoded secrets - Không có sensitive data trong logs - .env files không bị staged
  3. Commit hygiene - Commit message theo convention - Chỉ commit files liên quan đến task - Không commit generated files

Commit Frequency Guidelines

Khi nào commit Ví dụ
Hoàn thành một unit of work Thêm xong một function
Trước khi refactor Backup trạng thái hiện tại
Sau khi fix một bug Mỗi bug = 1 commit
Khi tests pass Green state
Trước khi kết thúc ngày WIP commit (nếu cần)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment