Comment on page

Commit Message

Commit Message Header chuẩn
Bài viết này chúng ta chỉ quan tâm và nói về Commit Message Header

Commit Message Header theo chuẩn

Theo chuẩn, 1 Commit Message Header sẽ theo cấu trúc như sau:
type(scope?): subject . refs?

type

  • build: Changes that affect the build system or external dependencies ( ex scopes: gulp, broccoli, npm)
  • ci: Những cập nhật cấu hình ci-cd / Changes to our CI configuration files and scripts (ex scopes: Gitlab CI, Circle)
  • chore: Những sửa đổi nhỏ nhặt không liên quan tới code / add something without touching production code (Eg: update npm dependencies)
  • docs: Thêm hoặc thay đổi document / Documentation only changes
  • feat: Thêm một feature / A new feature
  • fix: Fix bug / A bug fix
  • perf: Code cải tiến về mặt hiệu năng xử lý / A code change that improves performance
  • refactor: Sửa code nhưng không fix bug cũng không thêm feature hoặc đôi khi bug cũng được fix từ việc refactor / A code change that neither fixes a bug nor adds a feature
  • revert: Reverts a previous commit
  • style: Những thay đổi không làm thay đổi ý nghĩa của code như thay đổi css/ui chẳng hạn. / Changes that do not affect the meaning of the code (Eg: adding white-space, formatting, missing semi-colons, etc)
  • test: Adding missing tests or correcting existing tests
  • vendor: Cập nhật version cho các dependencies, packages / update npm package version

scope

  • Optional, và nếu có thì nó nên là tên của package mà commit hiện tại làm ảnh hưởng.
  • Scope thường dùng ở các repository mà chứa nhiều packages dạng monorepo.
ví dụ repo của Vue 3, scope sẽ là tên của 1 package nào đó ở folder packages

subject

  • Là nội dung của commit
  • Sử dụng trường tóm tắt để cung cấp mô tả ngắn gọn về thay đổi
  • Sử dụng mệnh lệnh, thì hiện tại: "change" không phải "changed" cũng như "changes"
  • Không viết hoa chữ cái đầu tiên
  • Không có dấu chấm (.) ở cuối

refs

  • Optional , là task/issue liên quan trên gitlab/github
  • Phần này là cá nhân mình tự thêm vào cho phù hợp với thói quen mention các commit vào những task, issue liên quan được define tại gitlab/github, thêm đoạn này giúp mình tiện theo dõi lịch sử của task/issue

Ví dụ

fix: fix file uploading photo . refs #issue-69 feat: add upload photo function . refs #issue-69 #issue-70 ci: update ci build n deploy feature to sku using tag or merge requestn. ref #issue-69
Xem chi tiết hơn tại #Commit Message Guidelines