1. Mô hình phân nhánh Git/Git Flow

Git Flow là tập hợp các nguyên tắc mà các developer có thể tuân theo khi sử dụng Git. Chúng ta không thể nói những nguyên tắc này là quy tắc. Đây không phải là các quy tắc; nó là một chuẩn cho một dự án lý tưởng. Vì vậy, một developer sẽ dễ dàng hiểu được mọi thứ.

Nó được các developer gọi là Mô hình phân nhánh và hoạt động như một kho lưu trữ trung tâm cho một dự án. Các developer làm việc và đẩy công việc của họ đến các nhánh khác nhau của kho lưu trữ chính.

Lưu ý: Nhánh main đã được Github đổi tên thành nhánh main.  Lý do tại đây.

Có nhiều loại nhánh khác nhau trong một dự án. Theo chiến lược phân nhánh chuẩn và quản lý phát hành, có thể có các loại nhánh sau:

  • main
  • develop
  • hotfixes
  • release
  • feature

Mỗi nhánh đều có ý nghĩa và chuẩn của nó. Hãy hiểu từng nhánh và cách sử dụng của nó.

2. Các nhánh chính

Hai trong số các nhánh của mô hình phân nhánh được coi là nhánh chính của dự án. Các nhánh này như sau:

  • main
  • develop

2.0 Nhánh main

Nhánh main là nhánh main của dự án chứa tất cả lịch sử của những thay đổi cuối cùng. Mọi developer phải được sử dụng với nhánh chính. Nhánh chính chứa mã nguồn của HEAD luôn phản ánh phiên bản cuối cùng của dự án.

Kho lưu trữ cục bộ của bạn có nhánh chính luôn cập nhật với nhánh chính của kho lưu trữ từ xa.

Đề nghị không được gây rối với chủ nhân. Nếu bạn đã chỉnh sửa nhánh chính của một dự án nhóm, những thay đổi của bạn sẽ ảnh hưởng đến những người khác và rất nhanh chóng, sẽ có xung đột khi hợp nhất.

2.1 Nhánh develop

Nó song song với nhánh main. Nó cũng được coi là nhánh chính của dự án. Nhánh này chứa các thay đổi được phát triển và chưa bản phân phối mới nhất cho bản phát hành tiếp theo. Nó có mã nguồn cuối cùng cho bản phát hành. Nó còn được gọi là ” nhánh tích hợp “.

Khi nhánh develop đạt đến điểm ổn định và sẵn sàng phát hành, nó sẽ được hợp nhất với nhánh main và được gắn thẻ với phiên bản phát hành.

3. Các nhánh hỗ trợ

Mô hình phát triển cần nhiều nhánh hỗ trợ để phát triển song song, theo dõi các tính năng, hỗ trợ sửa chữa và phát hành nhanh chóng, và các vấn đề khác. Những nhánh này có thời gian tồn tại hạn chế và được loại bỏ sau khi sử dụng.

Các loại nhánh hỗ trợ khác nhau, chúng ta có thể sử dụng như sau:

  • Nhánh feature
  • Nhánh release
  • Nhánh hotfix

Mỗi nhánh này được tạo ra cho một mục đích cụ thể và có một số mục tiêu hợp nhất. Những nhánh này rất có ý nghĩa đối với góc độ kỹ thuật.

3.0 Nhánh feature(nhánh tính năng)

Nó được sử dụng để phát triển một tính năng mới cho phiên bản tiếp theo của dự án. Sự tồn tại của nhánh này có giới hạn; nó bị xóa sau khi tính năng của nó đã được hợp nhất với nhánh develop.

Để tìm hiểu cách tạo nhánh feature, hãy truy cập Tại đây .

3.1 Nhánh release

Nhánh phát hành(release) được tạo để hỗ trợ phát hành phiên bản mới. Các developer cấp cao sẽ tạo một nhánh phát hành. Nhánh phát hành sẽ chứa một số lượng được xác định trước của nhánh tính năng(feature). Nhánh phát hành nên được triển khai tới một máy chủ dàn để thử nghiệm.

Các developer được phép sửa các lỗi nhỏ và chuẩn bị siêu dữ liệu cho bản phát hành trên nhánh này. Sau tất cả các nhiệm vụ này, nó có thể được hợp nhất với nhánh phát triển(nhánh develop).

Khi tất cả các tính năng được nhắm mục tiêu được tạo, thì nó có thể được hợp nhất với nhánh phát triển. Một số chuẩn thông thường của nhánh phát hành như sau:

  • Nói chung, các developer cấp cao sẽ tạo một nhánh phát hành(nhánh release).
  • Nhánh phát hành sẽ chứa các tính năng ổn định được xác định trước của nhánh tính năng(feature).
  • Nhánh phát hành được triển khai tới một máy chủ dàn dựng để thử nghiệm.
  • Bất kỳ lỗi nào cần được cải thiện phải được giải quyết tại nhánh phát hành.
  • Nhánh phát hành phải được hợp nhất trở lại đang phát triển cũng như nhánh main.
  • Sau khi hợp nhất, nhánh phát hành với nhánh phát triển phải được gắn thẻ số phiên bản.

Để tạo một nhánh phát hành, hãy truy cập Git Branching .

Để gắn thẻ nhánh sau khi hợp nhất nhánh để phát hành, hãy truy cập thẻ Git để xem chi tiết.

3.2. Chi nhánh Hotfix

Các nhánh hotfix tương tự như các nhánh Release; cả hai đều được tạo cho một bản phát hành sản xuất mới.

Các nhánh hotfix phát sinh do hành động ngay lập tức trên dự án. Trong trường hợp có một lỗi nghiêm trọng trong phiên bản sản xuất, một nhánh hotfix có thể phân nhánh trong dự án của bạn. Sau khi sửa lỗi, nhánh này có thể được hợp nhất với nhánh chính(main) bằng một thẻ.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!