Chi nhánh tại điểm cao nhất có thể trong cây của bạn. IE, nó nên bao gồm mã cho tất cả các dự án của bạn, mô-đun được chia sẻ ... và có thể là những thứ như tài liệu/xây dựng kịch bản/trình cài đặt/v.v. Tại sao? Tại sao không! Các chi nhánh có giá rẻ trong tất cả các hệ thống được đề cập cho đến nay (SVN, TFS, Perforce, git).
Chiến thuật này đặc biệt quan trọng trong các hệ thống sử dụng phân nhánh "không gian đường dẫn" (TFS, Perforce). Nếu không, tạo một bản dựng bộ sản phẩm hoàn chỉnh phù hợp với không gian làm việc của những người khác nhau sẽ trở thành cơn ác mộng bảo trì.
Khi bạn đã đưa điều này vào thực tế, bạn được tự do sửa đổi càng nhiều hoặc ít phần mã theo ý muốn của bạn trong một nhánh cụ thể. Bạn luôn có thể thực hiện một bản dựng đầy đủ để xác minh các vấn đề tích hợp; tùy chọn hợp nhất bất kỳ thành phần nào giữa bất kỳ nhóm chi nhánh nào vẫn mở cho bạn. Nhưng câu hỏi của Chiến lược SDLC hoàn toàn trực giao. Bạn có thể phân nhánh cho mỗi tính năng, mỗi nhóm, mỗi lần phát hành hoặc bất kỳ kết hợp nào ở trên; * Thực tế là mỗi chi nhánh xảy ra là một superset chứng minh thuận lợi trong nhiều chiến lược, và không bao giờ nên là một con miễn là các công cụ của bạn là đến thách thức.
* Chọn chiến lược là một vấn đề riêng lẻ phụ thuộc vào nhiều yếu tố. Những người khác đã đề xuất một số tài liệu nổi tiếng giúp bạn quyết định. Tôi sẽ đưa bản sửa đổi mới nhất của Microsoft's TFS guidance lên đó với bản sửa đổi tốt nhất của chúng.
Nguồn
2009-07-10 15:41:44
Để làm rõ. Cách ly mã là điều cần thiết. Tôi không muốn thực hiện thay đổi đối với sản phẩm B đang được phát hành vào năm 2011, sản phẩm này sẽ được giải phóng vào ngày mai. Tuy nhiên tôi không muốn chia sẻ mã chia sẻ và duy trì hai bản sao riêng biệt mãi mãi, mã được chia sẻ cần phải được chia sẻ.Khi một sản phẩm được cung cấp mã chia sẻ 'mới nhất', sản phẩm cần phải được kiểm tra lại trước khi phát hành. Dựa trên thông tin này - các nhánh sẽ được tạo và duy trì như thế nào? –
@Ben Breen - Với làm rõ của bạn, tôi vẫn đề nghị sử dụng svn: externals. Sản phẩm A có thể thay đổi Lõi, nhưng bạn có thể kiểm soát khi những thay đổi đó quay trở lại/lõi/thân phụ thuộc vào lịch phát hành Sản phẩm B. Nếu bạn đang thực hiện thay đổi đối với Core chỉ cho Sản phẩm A, thì có lẽ mã đó không nên nằm trong lõi. –