Câu trả lời ngắn gọn: Có, các nhánh sửa lỗi đang được phát hành theo kế hoạch sắp tới sẽ nằm trong các nhánh tính năng. Cách bạn đặt tên cho các nhánh tính năng hoặc các nhánh này để sửa lỗi tùy thuộc vào tiêu chuẩn của bạn và nhóm của bạn, nhưng chúng nên được xử lý giống hệt nếu bạn đang theo dõi Gitflow.
Bart van Ingen Schenau bình luận mang đến một điểm tốt.
Gitflow có năm loại nhánh: master
,, develop
các nhánh hotfix (tiền tố với hotfix-
), các nhánh phát hành (tiền tố release-
và các nhánh tính năng. Các nhánh master
và develop
nhánh là các nhánh chạy dài và bạn không cam kết trực tiếp vào chúng. Các release-
nhánh được tạo để vẽ một đường cho một bản phát hành cụ thể và sau đó hỗ trợ sửa lỗi giữa việc xác định phiên bản tiếp theo và bản phát hành. Các hotfix-
chi nhánh dành riêng cho các bản phát hành ngoài chu kỳ quan trọng vào sản xuất. Các feature-
chi nhánh dành cho phát triển các tính năng riêng lẻ cho một số bản phát hành trong tương lai.
Đến từ môi trường nơi PRs được sử dụng và một số tồn tại một nhà phát triển cá nhân cam kết đến một chi nhánh tính năng, không có gì nên được cam kết trực tiếp vào master
, develop
hoặc một chi nhánh phát hành. Điều này đảm bảo rằng mọi thay đổi đều được xem xét mã, cùng với việc đảm bảo phạm vi kiểm tra phù hợp và vượt qua các thử nghiệm trong môi trường CI trước khi có thay đổi. Tôi sẽ phản đối bất kỳ cam kết nào trực tiếp vào một trong các nhánh này, mặc dù có vẻ như Gitflow không tự ' Không có bất kỳ vấn đề nào với việc cam kết sửa lỗi trước khi phát hành hoặc thay đổi trực tiếp vào nhánh phát hành và sau đó kéo chúng vào phát triển và sau đó là các nhánh tính năng.
Trong trường hợp cụ thể của bạn, một release-
chi nhánh không phải là một nơi thích hợp. Phần mềm đã được phát hành và đang ở master
. Khi một bản phát hành được hợp nhất thành chủ và được gắn thẻ ở đó, nhánh phát hành cho bản phát hành cụ thể đó đã vượt quá mục đích của nó và không nhất thiết phải tồn tại nữa. Nếu bạn chủ động trong việc dọn dẹp các chi nhánh của mình (mà tôi nghĩ rằng mọi người nên như vậy), thì đây thậm chí không phải là một lựa chọn.
Nếu cách khắc phục của bạn không quan trọng, thì một nhánh hotfix dường như cũng không phù hợp. Mục đích của chi nhánh hotfix là cho phép ai đó nhận được các thay đổi quan trọng trong sản xuất mà không can thiệp vào sự phát triển đang diễn ra. Sử dụng chúng nên là ngoại lệ chứ không phải là tiêu chuẩn cho một nhóm phát triển. Nói chung, các hotfix quan trọng nên là một trường hợp đặc biệt.
Điều duy nhất còn lại là một nhánh tính năng. Lưu ý rằng phần của trang được liên kết trong câu hỏi về các nhánh tính năng thậm chí nói rằng các nhánh tính năng "đôi khi được gọi là nhánh chủ đề". Nếu thay đổi của bạn nhắm mục tiêu bất kỳ bản phát hành sắp tới nào và không đáp ứng các tiêu chí cho một hotfix, thì nó sẽ nằm trong một trong những nhánh này.