Chúng tôi có ai đó (hãy gọi anh ấy là Ted) chịu trách nhiệm thử nghiệm các tính năng mới và sửa lỗi.
Chúng tôi đang sử dụng Git và GitHub . master
nên / luôn luôn có thể triển khai và development
là nơi chúng tôi cam kết / hợp nhất các tính năng mới hoặc sửa lỗi, nhưng chỉ sau khi chúng được Ted kiểm tra.
Dự án là trong PHP.
Tôi muốn quá trình thử nghiệm diễn ra như sau:
- Một nhà phát triển muốn làm việc trên một tính năng mới (giả sử tính năng / lỗi # 123 như Ted ghi lại trong trình theo dõi vấn đề), vì vậy anh ta kéo
origin/development
đếndevelopment
kho lưu trữ cục bộ của mình và tạo một chi nhánh mới (giả sửissue-123
) từ đó. - Khi anh ấy hài lòng với công việc của mình, anh ấy cam kết và đẩy chi nhánh mới của mình đến
origin
. - Ted kết nối
test.ourproject.com/choose-branch
và xem danh sách các chi nhánhorigin
và chọn bậtissue-123
(có thể thực hiện được thông qua trang web). Sau đó, anh ta tiếp tụctest.ourproject.com
, kiểm tra ứng dụng web (anh ta thực sự vô dụng) và sau một vài lần qua lại với nhà phát triển, anh ta hài lòng với tính năng này. - Ted nói với các nhà phát triển rằng ông có thể hợp nhất
issue-123
vàodevelopment
trênorigin
. - Rửa sạch và lặp lại.
Bước thứ ba, tôi có thể hack thứ gì đó thực hiện công việc (hiển thị và chuyển nhánh từ một trang cụ thể), nhưng tôi cảm thấy rằng những gì tôi đã mô tả là một mẫu rất phổ biến.
Vì vậy, câu hỏi của tôi là: Đây có phải là một quy trình công việc tốt / bền vững / có thể duy trì để phân nhánh? Bạn có thể sao lưu câu trả lời của mình bằng cách trích dẫn một số ví dụ về các dự án khác theo quy trình công việc này không?
issue-123
đề cập đến lỗi / tính năng # 123 khi Ted ghi lại mọi lỗi / tính năng mới trên trình theo dõi vấn đề của chúng tôi.