Bài viết này chúng ta chỉ quan tâm và nói về Commit Message Header
Theo chuẩn Angular, 1 Commit Message Header sẽ theo cấu trúc như sau:
type(scope?): subject . refs?
build: Changes that affect the build system or external dependencies (ex scopes: gulp, broccoli, npm)
ci: Changes to our CI configuration files and scripts ( ex scopes: Gitlab CI, Circle)
chore: add something without touching production code (Eg: update npm dependencies)
docs: Documentation only changes
fea: A new feature
fix: A bug fix
perf: A code change that improves performance
refactor: A code change that neither fixes a bug nor adds a feature
revert: Reverts a previous commit
style: 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: update npm package version
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
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
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, các bạn có thể không cần sử dụng nếu thấy rườm rà ^_^
fix(gui): fix file uploading photo. refs #issue-69 feat(gui) : add upload photo function. refs #issue-69
Xem chi tiết hơn tại #Commit Message Guidelines