Git commit message - Phải bạn không ? Cùng sửa nhé

3 min read
-- views
-- likes
-- comments
Git commit message - Phải bạn không ? Cùng sửa nhé

Series: Git

Episodes: (3/3)

Phải bạn không? Cùng sửa nhé 😉

git commit

Tại sao nên đọc bài viết này ?

  • Nâng cao chất lượng commit message
  • Vì nội dung commit rất tường minh -> reviewer sẽ thấy rất happy -> yêu thương member -> tình cảm anh em đi lên 👌

Yêu cầu trước khi bạn tiếp tục:

  • Nắm được cơ bản về Git workflow, nếu chưa thì bạn có thể tìm hiểu thêm tại đây

Cấu trúc chung của 1 commit message

<type>[optional scope]: <description>
 
[optional body]
 
[optional footer(s)]

Trong đó:

  • type và description là phần BẮT BUỘC
  • body là phần TÙY CHỌN, có thể có hoặc không

<type>

  • feat: Một tính năng mới (feature)
  • fix: Sửa lỗi (fix bug)
  • chore: Cập nhật dependencies nhưng không liên quan đến fixbug hoặc thêm tính năng mới, không làm thay đổi src
  • refactor: Đổi tên hàm, tên biến dễ hiểu hơn, tách hàm con, xóa code thừa, ... (những điều này không nhằm sửa lỗi hay thêm tính năng)
  • docs: Cập nhật tài liệu (sửa documents)
  • style: Cập nhật format code, vd như thêm/xoá khoảng trắng, xoá dòng trống thừa,...
  • perf: Cải tiến hiệu năng
  • test: Thêm test case còn thiếu, sửa unit test, ...
  • build: Những thay đổi ảnh hưởng đến quá trình build hoặc dependencies
  • ci: Thay đổi file cấu hình hoặc script CI
  • revert: quay về commit trước đó

<description>

  • Mô tả ngắn gọn về nội dung commit
  • Không dài quá 50 ký tự để có thể dễ dàng đọc trên GitHub, cũng như các git tool khác
  • Sử dụng câu mệnh lệnh, ở thì hiện tại. Ví dụ: “change ...“ thay vì “changed ...“
  • Không viết hoa chữ cái đầu tiên
  • Không sử dụng dấu chấm ở cuối câu

[body]

  • Là phần TÙY CHỌN, sử dụng để mô tả chi tiết hơn về commit nếu cần
  • Cách phần <type>: <description> ở bên trên bởi 1 dòng trắng (blank line)
  • Nên dùng để giải thích câu hỏi What (để làm gì), hoặc Why (tại sao cần), chứ KHÔNG PHẢI How (làm như thế nào)

Ví dụ

  • Không bao gồm phần tùy chọn
feat: add new feature to dashboard
  • Bao gồm tất cả phần tùy chọn
fix: fix foo to enable bar
 
This fixes the broken behavior of the component by doing xyz.
 
BREAKING CHANGE
Before this fix foo wasn't enabled at all, behavior changes from <old> to <new>
 
Reviewed-by: Toduda69
Refs: #69

Tài liệu tham khảo

https://www.conventionalcommits.org/en/v1.0.0/

Tổng kết

Hi vọng kiến thức này hữu ích với bạn. Happy coding 👋