Commit Message

Commit Message Header chuẩn Angular

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 Angular, 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: 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

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, các bạn có thể không cần sử dụng nếu thấy rườm rà ^_^

Ví dụ

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