0
0
Lập trình
Thaycacac
Thaycacac thaycacac

Git Flow: Giải Pháp Tối Ưu Để Quản Lý Dự Án Hiệu Quả

Đăng vào 3 tuần trước

• 3 phút đọc

Giới Thiệu

Git Flow là phương pháp quản lý dự án hiệu quả giúp các lập trình viên tổ chức công việc và mã nguồn một cách hợp lý. Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách sử dụng Git Flow với các quy trình như Commit, Issue, Pull Request và Branch.

Commit

Commit là một định dạng chuẩn hóa cho các thông báo commit. Hệ thống này giúp tạo ra lịch sử commit rõ ràng, dễ hiểu và có thể tự động hóa các quy trình phát hành. Định dạng commit như sau:

Copy
<type>[optional scope]: <description>

[optional body]

[optional footer]

type là các loại tùy biến thay đổi thực tế, bao gồm các loại như: feat, fix, docs, style, refactor, perf, test, chore.

Ý nghĩa của từng loại:

  • Feat: Tạo một nhánh tính năng mới hoàn toàn và triển khai mã trong nhánh đó.
  • Fix: Áp dụng khi bạn sửa đổi mã của một đoạn mã hoặc tệp đã tồn tại.
  • Docs: Thay đổi liên quan đến tài liệu, thường là các tệp .md.
  • Style: Thay đổi hình thức mà không ảnh hưởng đến mã (ví dụ: định dạng).
  • Refactor: Thay đổi cấu trúc mã mà không làm thay đổi bất kỳ điều gì trong chức năng mã.
  • Perf: Cải thiện hiệu suất của mã (ví dụ: giảm thời gian truy vấn).
  • Test: Thêm các bài kiểm thử vào mã (ví dụ: thêm testcase cho hàm).
  • Chore: Thay đổi không liên quan trực tiếp đến mã nguồn hoặc kiểm tra.

Ví dụ:

Copy
docs: change cmd run code
Copy
feat(lang): added vietnamese language
Copy
feat: allow provided config object to extend other configs

Lưu Ý

  • Commit bắt buộc phải có tiền tố với loại như feat, fix,... và mô tả đằng sau.
  • Nếu có sự thay đổi lớn, bạn cần ghi chú 'BREAKING CHANGE' trong phần body.

Issue

Khi có vấn đề cần giải quyết, leader sẽ giao nhiệm vụ cho các thành viên thông qua mục Issue trên GitHub. Lãnh đạo có thể chỉ định Assignees, thêm Labels, và chỉ định Projects.

Pull Request

Sau khi hoàn thành công việc, bạn sẽ push code lên nhánh của mình trên remote. Tạo Pull Request để đưa code vào nhánh dev, nhớ gắn thẻ số issue tương ứng để cập nhật tình trạng trên GitHub.

Lưu Ý: Đừng nhầm lẫn giữa nhánh dev và nhánh main khi thực hiện Pull Request!

Branch

Việc tạo nhánh và phân quyền rất quan trọng trong Git Flow vì nó giúp tăng tốc độ hoàn thành dự án và giảm xung đột giữa các lập trình viên.

Các Nhánh Chính

  1. main (hoặc master): Chứa mã nguồn đã phát hành với trạng thái ổn định.
  2. develop: Đây là nhánh phát triển chính, chứa mã nguồn đã kết hợp từ các nhánh tính năng và sửa lỗi.

Các Nhánh Hỗ Trợ

  1. Nhánh Tính Năng (Feature Branches): Tạo từ nhánh develop và được sử dụng để phát triển các tính năng mới. Tên nhánh theo định dạng: feature/<tên-tính-năng>. Sau khi hoàn thành, nó sẽ được hợp nhất vào nhánh develop.
  2. Nhánh Phát Hành (Release Branches): Tạo từ develop khi chuẩn bị phát hành phiên bản mới, thường được sử dụng để hoàn thiện và kiểm tra trước khi phát hành. Tên nhánh theo định dạng: release/<số-phát-hành>.
  3. Nhánh Hotfix (Hotfix Branches): Tạo từ main để sửa lỗi khẩn cấp, và sẽ được hợp nhất vào cả maindevelop sau khi hoàn thành.
  4. Nhánh Sửa Lỗi (Bugfix Branches): Tạo từ develop để sửa lỗi đang phát triển và sẽ được hợp nhất vào nhánh develop sau khi sửa xong.

Khi bạn tạo nhánh mới từ nhánh develop, hãy đặt tên theo định dạng feature/<tên-tính-năng>. Khi tạo nhánh từ nhánh main, hãy đặt tên theo định dạng hotfix/<tên-sửa-lỗi>.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào