Quy tắc cơ bản để đặt tên branch và viết commit message khi làm việc nhóm với Git

Thứ Sáu, 20/09/2024 · 5 phút đọc

Git là công cụ quản lý mã nguồn phổ biến, nhưng để sử dụng hiệu quả trong môi trường làm việc nhóm, cần tuân thủ các quy tắc cơ bản khi đặt tên branch và viết commit message. Điều này không chỉ giúp dự án dễ quản lý mà còn tăng tính đồng bộ và hiểu biết giữa các thành viên.


  1. Quy tắc đặt tên branch

Branch là nơi làm việc độc lập cho từng thành viên hoặc từng nhiệm vụ. Đặt tên branch rõ ràng và có cấu trúc sẽ giúp cả nhóm dễ hiểu và theo dõi. Dưới đây là một số quy tắc phổ biến:

1.1. Quy ước chung

  • Sử dụng lowercase và dấu gạch ngang (-): Tránh khoảng trắng hoặc ký tự đặc biệt.
    Ví dụ: feature/add-login, bugfix/fix-header-css.
  • Tách biệt theo loại công việc: Sử dụng tiền tố để phân loại. Một số ví dụ phổ biến:
  • feature/: Branch phát triển tính năng mới.
  • bugfix/: Branch sửa lỗi.
  • hotfix/: Branch sửa lỗi khẩn cấp trên production.
  • chore/: Branch thực hiện công việc không liên quan đến code chính, như nâng cấp thư viện.
  • release/: Branch chuẩn bị phát hành.

1.2. Kèm theo thông tin cụ thể
Thêm mô tả ngắn gọn về nhiệm vụ hoặc tính năng. Nếu dự án sử dụng hệ thống quản lý công việc như Jira hoặc Trello, có thể gắn ID nhiệm vụ:

  • Ví dụ:
  • feature/JIRA-123-add-login
  • bugfix/BUG-456-fix-loading-issue

1.3. Không sử dụng tên branch quá dài
Đặt tên vừa đủ ý nghĩa, thường không quá 50 ký tự.


  1. Quy tắc viết commit message

Commit message là nơi bạn ghi chú về những thay đổi trong mã nguồn. Viết commit message rõ ràng sẽ giúp cả nhóm hiểu mục đích và nội dung của từng thay đổi.

2.1. Cấu trúc một commit message chuẩn
Commit message thường có 2 phần:

  1. Tiêu đề (Subject): Mô tả ngắn gọn về thay đổi, tối đa 50 ký tự.
  2. Nội dung chi tiết (Body) (tùy chọn): Giải thích chi tiết hơn, dài không quá 72 ký tự mỗi dòng.

Ví dụ:

feat: Add login functionality

- Implement login API integration
- Create login form with validation
- Update user authentication flow

2.2. Quy ước chung khi viết commit message

  • Dùng động từ ở thì hiện tại: “Add”, “Fix”, “Update”, thay vì “Added”, “Fixed”.
  • Giải thích lý do, không chỉ mô tả: Đừng chỉ nói “Update code”, hãy nói “Refactor authentication logic to improve readability”.
  • Ngắn gọn nhưng đầy đủ: Tránh các từ chung chung như “Fix bug” mà không nêu rõ lỗi là gì.

2.3. Tiền tố commit message
Thêm tiền tố để mô tả loại thay đổi:

  • feat: Tính năng mới.
  • fix: Sửa lỗi.
  • refactor: Cải thiện code mà không thay đổi chức năng.
  • test: Thêm hoặc sửa test case.
  • docs: Thay đổi tài liệu.
  • style: Thay đổi về định dạng, không ảnh hưởng đến logic code.
  • chore: Công việc khác, như cập nhật thư viện.

  1. Một số ví dụ thực tế

Tên branch

  • feature/JIRA-101-user-registration
  • bugfix/BUG-202-fix-invalid-email-validation
  • hotfix/critical-login-issue

Commit message

  • feat: Add user registration form
  - Create form for user registration
  - Add client-side validation
  - Integrate with backend API
  • fix: Resolve null pointer exception in login
  - Add null checks for user authentication
  - Update error logging for better debugging
  • docs: Update README with API usage
  - Add details about authentication endpoints
  - Include setup instructions for local development

  1. Lợi ích của việc tuân thủ quy tắc
  • Dễ dàng review code: Thành viên nhóm và reviewer hiểu rõ mục đích thay đổi.
  • Tăng tính minh bạch: Dễ dàng theo dõi lịch sử thay đổi của dự án.
  • Tương thích với công cụ tự động hóa: Một số công cụ CI/CD hoặc phân tích mã nguồn yêu cầu commit message đúng chuẩn.

  1. Kết luận
    Việc đặt tên branch và viết commit message đúng quy tắc là kỹ năng quan trọng khi làm việc nhóm với Git. Nó không chỉ giúp dự án chạy mượt mà hơn mà còn xây dựng một văn hóa làm việc chuyên nghiệp và hiệu quả.

Hãy bắt đầu áp dụng ngay những quy tắc này để tăng năng suất và gắn kết trong nhóm của bạn!


Tags: Git, git flow, branch, commit message, làm việc nhóm, quản lý mã nguồn.

- Ảnh đại diện bài viết -

Không có bình luận nào

Bình luận!

Địa chỉ email của bạn sẽ không được công khai. Các trường bắt buộc được đánh dấu *.