2012-07-19 30 views
23

Tôi có một số cam kết trên các chi nhánh của tôi. Tôi muốn kết hợp các chi nhánh để thân cây, nhưng có một số cam kết rằng tôi không hợp nhất với thân cây trên cành của tôi. Tôi phải làm thế nào?Subversion: Cách hợp nhất một cam kết cụ thể

+1

Bạn có nghĩa là bạn có một số cam kết mà bạn không muốn hợp nhất trong thân cây của mình hoặc bạn có một số xung đột khi cố hợp nhất các thay đổi của mình? –

+0

ví dụ, có bảy cam kết trên các chi nhánh của tôi, nhưng tôi chỉ muốn kết hợp ba cam kết. – Clown

+0

Vì vậy, bạn phải hợp nhất chỉ xác định sửa đổi. http://stackoverflow.com/questions/326937/subversion-how-to-merge-only-specific-revisions-into-trunk-when-multiple-consec – tostao

Trả lời

25

Điều bạn muốn hoàn thành thường được gọi là cherrypicking trong các hệ thống kiểm soát phiên bản.

Nói rằng bạn muốn kết hợp các phiên bản 345, 364 và 377, bạn sẽ làm như sau vào thư mục cấp cao nhất của một bản sao làm việc sạch của chi nhánh của bạn:

svn merge -c345,364,377 ^/trunk 

Bạn có thể tìm thêm thông tin trong tương ứng section of the SVN Book.

+0

Hoạt động như một sự quyến rũ, cảm ơn – PierreF

-7

Bạn có thể hợp nhất các cam kết bạn muốn với số sửa đổi.

22

Chỉ để mở rộng câu trả lời của Yannick.
Khi bạn có thể kết hợp một/vài cụ thể cam kết từ một đến một chi nhánh bạn cần (ví dụ cần nhập r13 cam kết và r666 từ chi nhánh 'từ' vào nhánh '-'):

  1. kiểm tra tính sẵn sàng cam kết (chỉ để đảm bảo):

    svn diff -c 13,666 https://fullpathtoyourproject/branches/_from_ 
    
  2. Swith trên nhánh -:

    svn sw https://fullpathtoyourproject/branches/_to_ 
    
  3. Merge cam

    svn merge -c 13,666 https://fullpathtoyourproject/branches/_from_ 
    

Nếu bạn cần được 'fullpathtoyourproject' chỉ cần gõ:

svn info 

Trong phần URL bạn sẽ thấy con đường này.

Tôi thích sử dụng url ĐẦY ĐỦ/đường dẫn, khiến đường dẫn tương đối cá nhân không hoạt động đối với tôi trên một số dự án.

+0

Đây là câu trả lời hay vì nó giải thích nguồn và đích của hợp nhất. – natersoz

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