2009-06-13 18 views
7

Tôi đã sáp nhập trong Subversion/TortoiseSVN như thế này một vài lần:sáp nhập từ cành này sang thân cây với 'Merge loạt các phiên bản'

Phương pháp A:

  • 1) để thay đổi thân cây và cam kết .

  • 2) Tôi thực hiện các thay đổi khác trong chi nhánh và cam kết.

  • 3) Trong bản sao làm việc từ thân cây: Tôi hợp nhất từ ​​chi nhánh bằng cách sử dụng TortoiseSVN 'Hợp nhất một loạt các bản sửa đổi'.

  • 4) Sau đó, tôi cam kết thân cây và xóa nhánh.

Tuy nhiên, TortoiseSVN-manual khuyến cáo sau đây thay vì 3) và 4):

Phương pháp B:

  • 3 *) Trong một bản sao hoạt động từ chi nhánh: Merge thay đổi từ thân cây bằng cách sử dụng TortoiseSVN 'Hợp nhất một loạt các bản sửa đổi'.

  • 4 *) Cam kết chi nhánh bao gồm thay đổi thân cây.

  • 5 *) Trong bản sao làm việc từ thân cây: Hợp nhất các thay đổi từ chi nhánh bằng cách sử dụng 'Phân tích lại chi nhánh' của TortoiseSVN.

  • 6 *) Cam kết thân cây và xóa nhánh.

Tôi thấy dễ dàng hơn nhiều và không tìm thấy lý do tại sao tôi không nên làm như vậy.

Các đối số cho phương pháp B hoặc A, khi hợp nhất từ ​​một chi nhánh trở về thân cây là gì?

+0

Chỉ cần cập nhật câu trả lời của tôi để trả lời nhận xét của bạn. – VonC

Trả lời

11

Gọi là "rebasing" trước khi hợp nhất lại: bạn "rebase" (hoặc cập nhật) chi nhánh địa phương của bạn với diễn biến thân cây trước khi sáp nhập lại nhánh đó vào nhánh.

Cho phép độ phân giải chậm của việc hợp nhất trong vòng "chi nhánh" của bạn, với các cam kết trung gian có thể có.
Sau đó, khi tất cả được thực hiện, bạn có thể thực hiện hợp nhất tầm thường trở lại thân cây.
Bằng cách đó, bạn không phải trì hoãn các cam kết chỉ vì bạn đang hợp nhất trên thân cây (vì chỉ cho phép các cam kết ổn định trên thân cây).

Bạn có cho rằng điều đó có hại khi sử dụng phương pháp 'A' không?

Không, nếu hợp nhất là kết quả nhỏ, với kết quả dự đoán được.Trong trường hợp đó, cách tiếp cận B sẽ là lãng phí thời gian, một sự hợp nhất bổ sung không cần thiết (và bạn nên luôn cố gắng thực hiện càng ít càng tốt càng tốt: mỗi thao tác có thể bị lỗi)

Nhưng nếu kết quả không được xác định trước, sau đó tiếp cận 'B' được đề xuất một cách dứt khoát, và cho phép bạn khám phá kết quả của việc hợp nhất trong nhánh của bạn, trước khi tác động đến 'trunk'.

Cả hai cách tiếp cận đều hữu ích, người ta không nên tìm cách áp dụng chỉ một hoặc chỉ khác, mà là một trong những thích nghi nhất với tình hình trong tầm tay.

+1

Cảm ơn câu trả lời. Bạn có cho rằng nó có hại khi sử dụng phương pháp 'A' không? –

0

Về phạm vi Merge các phiên bản so tái hòa nhập một chi nhánh:

Tiếp theo kết quả Phương pháp B trong có hai loại cam kết trong chi nhánh:

  1. Thay đổi duy nhất để chi nhánh
  2. thay đổi Trunk được chọn từ thân cây bằng cách thực hiện liên tiếp Hợp nhất phạm vi sửa đổi

Khi hợp nhất trở lại thân cây, bạn chỉ phải chọn các thay đổi duy nhất cho nhánh. Điều này được thực hiện bằng cách Tích hợp lại chi nhánh.

Sử dụng Hợp nhất phạm vi sửa đổi ở cuối sẽ mang đến kết hợp cả thay đổi thân nhân trùng lặp và thay đổi nhánh riêng.

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