Git history như… sổ đầu bài lớp học cá biệt

30 commit tên là fix bug, sửa chính tả, test thử… như sổ đầu bài ghi ‘quên làm bài tập’.

Mở Git history mà thấy commit message kiểu “fix”, “update”, “test thử”, tôi chỉ muốn khóc thay cho team. Git history như sổ đầu bài lớp học cá biệt: đầy chữ nhưng chẳng ai hiểu gì, debug thì như mò kim.


Mô tả: Commit message vô nghĩa

Thực trạng:
  • Commit message ngắn gọn kiểu: “fix bug”, “done”, hoặc “sửa lỗi nè”.
  • Một feature có 50 commit, toàn “test”, “fix typo”, không mô tả cụ thể.
  • Không theo convention, không link với issue/ticket.

Hệ quả:
  • Khó debug: Không biết commit nào làm gì, lỗi từ đâu.
  • Trace mù mờ: Không hiểu luồng phát triển feature.
  • Team rối: Dev mới vào nhìn history, chỉ biết “hỏi anh lead”.

Giải pháp: Commit convention và squash


Để Git history sạch đẹp:
  • Dùng Conventional Commits: Commit message theo chuẩn, ví dụ: feat: add login API, fix: handle null error in payment.
  • Squash before merge: Gộp nhiều commit nhỏ thành một commit lớn, giữ history gọn gàng.
  • Link issue: Thêm ID ticket vào message, ví dụ: feat(ISSUE-123): add user profile.

Ví dụ: Cấu hình .gitmessage để nhắc dev viết commit chuẩn:

feat: <mô tả tính năng>
fix: <mô tả lỗi được sửa>
#ISSUE-<ID>: <mô tả>

🎯 Tóm lại: Commit message rõ ràng, theo convention giúp history dễ đọc, debug nhanh. Đừng để Git thành “sổ đầu bài” chỉ toàn chữ vô nghĩa.

Post a Comment

Mới hơn Cũ hơn