Quy trình phát triển của nhóm của tôi dựa trên continuous integration. Các nhánh duy nhất mà chúng ta tạo ra là các nhánh bảo trì khi chúng ta phát hành, nhưng nếu không các nhà phát triển dự kiến sẽ thường xuyên (hàng ngày nếu không thường xuyên hơn) vào thân cây, để công việc của mọi người luôn được tích hợp, kiểm tra liên tục và tất cả những thứ tốt.DVCS có thích Git không phù hợp với các nhóm sử dụng tích hợp liên tục không?
Sự hiểu biết của tôi về DVCS là cách tuyệt vời để phân nhánh. Tôi đã làm việc một vài năm trước trong một đội ngũ nơi mà điều này sẽ rất hữu ích, vì mỗi chút phát triển đã được thực hiện trên một chi nhánh, và chỉ sáp nhập khi hoàn thành và thử nghiệm. Nhưng đây là một triết lý khác với sự tích hợp liên tục. Nhưng có vẻ như với một nhóm sử dụng tích hợp liên tục, các tính năng của các công cụ DVCS như Git sẽ không liên quan đặc biệt và thậm chí có thể cản trở quá trình tích hợp liên tục nếu việc thay đổi hợp nhất yêu cầu các bước bổ sung có thể bị lãng quên .
Tôi chắc chắn có những lợi ích khác của DVCS (ví dụ: cam kết rất nhanh vì nó là cục bộ, có lẽ sáp nhập với nhánh chính có thể xảy ra trong nền khi nhà phát triển tiếp tục làm việc).
Nhưng đối với câu hỏi này, tôi quan tâm đến cách các nhóm sử dụng DVCS và tích hợp liên tục hòa giải hai triết lý dường như mâu thuẫn nhau. Tôi chủ yếu quan tâm đến việc nghe từ những người đang thực sự làm điều này.
Đây là một câu hỏi hay. Thật không may, hầu hết những người đã trả lời đã nhầm lẫn "Liên tục tích hợp" có nghĩa là "chạy một máy chủ xây dựng liên tục". Điều nó thực sự có ý nghĩa trong một bối cảnh Agile (và những gì Kief đang hỏi), thường xuyên cam kết những thay đổi có giá trị cho thân cây có thể được đẩy vào sản xuất. Vì vậy, câu hỏi không phải là, "Tôi có thể chạy Jenkins chống lại Git?", Nhưng "điểm của các chi nhánh nếu những gì chúng tôi thực sự muốn làm là đẩy thay đổi để thân cây?" Thật không may, tôi không có kinh nghiệm CI + DVCS để thêm một câu trả lời hữu ích hơn, nhưng tôi dự định trở lại trong 12 tháng thêm một. –