Committing Code
Tài liệu hướng dẫn việc thực hiện commit code theo đúng chuẩn của Google
1. Định dạng (format) của Commit message
Mỗi commit message sẽ bao gồm các thành phần header, body, và footer
<type>(<scope>): <subject> <meta>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Trong đó header là bắt buộc: type (bắt buộc), scope (tùy chọn), subject (bắt buộc)
2. Các <type> được chấp nhận
<type> của commit message được qui định như sau:
feat: Tính năng mới (a new feature)
fix: Sửa lỗi (a bug fix)
docs: Các thay đổi liên quan đến documentation
refactor: Thay đổi source code nhưng không liên quan đến fixbugs hay tính năng mới
perf: Thay đổi source code liên quan đến tối ưu, improves performance
test: Bổ sung các tests bị thiếu
build: Các thay đổi liên quan đến setting để build application hoặc document generation
ci: Thay đổi trong các setting về continuous integration/delivery setup
3. <scope> (optional)
<scope> được dùng để chỉ định cụ thể phần nào được thay đổi trong source code
Ví dụ:
feat(auth): introduce sign in via Facebook
4. Subject (Tiêu đề) của commit message
Tiêu đề chứa mô tả ngắn gọn về thay đổi của source code
Dùng tiếng anh, of course 😃 (Không dùng Tiếng Việt hoặc Tiếng Nhật)
Dùng thì hiện tại ở thể mệnh lệnh: “change” not “changed” nor “changes”
Không in hoa (capitalize) ký tự đầu
Không dùng dấu chấm (.) ở cuối câu
Giới hạn ký tự của tiêu đề là 72 ký tự
Nên chia thành các commit tương ứng vơi những thay đổi riêng biệt
5. Message body (optional)
Sử dụng body để lý do tại sao và những nội dung thay đổi trong commit của mình. Hầu hết dùng body để mô tả chi tiết những thay đổi.
6. Footer (optional)
Footer dùng để reference đến những Breaking Changes, ví dụ như close task thông qua commit này, vì vậy có thể reference đến backlog-id hay github issue id.
7. Ví dụ
# Example 1
Thường dùng, chỉ chứa header bao gồm type, scope và subject
docs(guide): update fixed docs from Google Docs
# Example 2:
Bao gồm header, body và footer, reference đến backlog-id
feat(directive): add directives disabled/checked/multiple/readonly/selected
New directives for proper binding these attributes in older browsers (IE).
Added coresponding description, live examples and e2e tests.
Closes #sdg-351
# Example 3:
docs(guide): update fixed docs from Google Docs
Couple of typos fixed:
- indentation
- batchLogbatchLog -> batchLog
- start periodic checking
- missing brace
Last updated
Was this helpful?