2010-05-25 35 views
6

Tôi đã đọc rất nhiều về Mercurial và phân nhánh trong nó, tuy nhiên, tôi vẫn còn rất nhiều phiên bản kiểm soát newbie.Chi nhánh nhỏ, tạm thời trong Mercurial

Tôi hiện đang làm việc trên một dự án, nơi tôi đã được giao nhiệm vụ làm việc trên một mô-đun mới.

Tôi có kho lưu trữ "chính", chứa mã mới nhất từ ​​phần còn lại của dự án và kho lưu trữ nhân bản (gọi nó là "nhiệm vụ") nơi tôi đang làm công việc của mình ngay bây giờ.

Tôi là một loạt các cam kết trong nhiệm vụ của mình và thấy rằng tôi muốn thực hiện một chút "thử nghiệm" với cách chương trình của tôi đọc/lưu trữ/xử lý dữ liệu cấu hình.

Bây giờ, nếu tôi hiểu VC thực hành tốt nhất một cách chính xác, đây sẽ là thời điểm tuyệt vời để phân nhánh.

Nếu tôi bắt đầu thử nghiệm này và tôi thích nó sẽ đi đâu, tôi sẽ muốn hợp nhất nó trở lại kho lưu trữ "nhiệm vụ" của tôi trên nhánh "mặc định" khá nhanh.

Mặt khác, nếu tôi không thích nó như thế nào, tôi có lẽ sẽ chỉ cần cắt cành.

Cách phân nhánh dễ dàng nhất là nhân bản, tuy nhiên tôi không nghĩ đây là cách tiếp cận tốt nhất trong tình huống này, vì tôi sẽ chỉ thay đổi một vài tệp. có vẻ không phù hợp ở đây.

Lời khuyên/thực tiễn tốt nhất của bạn cho loại tình huống này là gì?

Trả lời

5

Tôi khá mới đối với Mercurial, nhưng tôi biết chính xác tình huống bạn đang mô tả. Tôi đã làm một số nghiên cứu về điều này trước đây, và kết luận của tôi là cách dễ nhất là sao chép kho lưu trữ của tôi.

Xem this answer để biết thêm chi tiết.

Ngoài ra, đây là một tuyệt vời guide to branching in Mercurial :)

2

Go với một bản sao, không có nghi ngờ về điều đó. Một chi nhánh được đặt tên trong Mercurial là một cái gì đó mà ngay cả những người Mercurial nói rằng bạn không cần tất cả những điều đó thường xuyên. Một trong những điều tuyệt vời về DVCS là bạn có thể dễ dàng sao chép repo và thử một số thứ mới và khác biệt, và nếu chúng hoạt động, tuyệt vời, hãy hợp nhất nó lại với repo chính, nếu không, xóa tất cả.

Cá nhân tôi sử dụng phương pháp "Chi nhánh theo tính năng" với Mercurial, có nghĩa là tôi sẽ tạo bản sao của repo chính cho từng tính năng tôi đang làm. Điều này bao gồm tăng đột biến và thử nghiệm.

+1

Tại sao không phải là nhánh ẩn danh? Nó ít nặng hơn một bản sao, và không phải như vậy vĩnh viễn như một chi nhánh tính năng. – Santa

+0

Điều đó có vẻ giống như một lựa chọn hợp lý, và có lẽ ít cồng kềnh hơn cho một dự án lớn. Cảm ơn! – ckramer

Các vấn đề liên quan