Tôi là một người dùng Subversion, và tôi nghĩ rằng tôi đã có chủ yếu của tôi xung quanh nó tất cả bây giờ. Vì vậy, tất nhiên bây giờ chúng tôi đang nghĩ đến việc chuyển sang Mercurial, và tôi cần phải bắt đầu lại.Suy ngẫm của người dùng Subversion: "Chi nhánh" trong thuật ngữ Mercurial là gì?
Trong kho lưu trữ duy nhất của chúng tôi, chúng tôi có bố cục branches
, tags
, trunk
điển hình. Khi tôi muốn tạo chi nhánh tính năng I:
- Sử dụng trình duyệt kho để sao chép
trunk
đếnbranches/Features/[FeatureName]
. - Thanh toán bản sao làm việc mới từ
branches/Features/[FeatureName]
. - Bắt đầu làm việc trên đó.
- Thỉnh thoảng cam kết, hợp nhất
trunk
trong, giải quyết xung đột và cam kết. - Khi hoàn tất, thêm một lần hợp nhất là
trunk
, sau đó "Tích hợp lại" nhánh chi tiết thành thân cây.
(Xin lưu ý quá trình này được đơn giản hóa vì không tính đến các chi nhánh ứng viên giải phóng tài khoản, v.v.).
Vì vậy, tôi có thắc mắc về cách tôi muốn thực hiện các yêu cầu tương tự (ví dụ các ngành chức năng chứ không phải là làm việc trên thân cây) trong Mercurial:
- Trong Mercurial, là một chi nhánh vẫn còn trong kho, hoặc là nó là một kho lưu trữ cục bộ hoàn toàn mới?
- Nếu chúng ta có một bản sao của toàn bộ kho lưu trữ, điều đó có nghĩa là tất cả chúng ta đều có bản sao của các chi nhánh khác nhau của nhau (đó là rất nhiều dữ liệu chuyển giao)?
- Tôi biết Mercurial là DCVS, nhưng điều đó có nghĩa là chúng tôi đẩy/kéo các thay đổi trực tiếp, thay vì thông qua kho lưu trữ ngang hàng trên máy chủ?
Người ta có thể điều chỉnh quy trình làm việc phân cấp từ tài liệu Bazaar: http://doc.bazaar.canonical.com/bzr.1.18/en/user-guide/index.html#decentralized-with-shared-mainline –
Nhưng nếu đó là repo riêng biệt cho mỗi chi nhánh, và mỗi repo chỉ nên có một đầu, sau đó "kho lưu trữ tính năng" đi đâu khi bạn muốn đặt chúng ở đâu đó an toàn? Làm thế nào để bạn có được những thay đổi tính năng vào "repo may mắn"? –
@Neil: một dịch vụ lưu trữ siêu việt như mã google thường sẽ có cách để tạo nhanh các chi nhánh mới một cách nhanh chóng và dễ dàng, vì vậy bạn có thể đặt các thay đổi thử nghiệm của mình "ở đâu đó an toàn". –