2010-05-06 33 views
101

Tôi đã làm việc trên mã đã được kiểm tra từ dây chuyền phát triển và phát hiện ra rằng các thay đổi được thực hiện có thể là thay đổi đột phá và cần được chuyển đến chi nhánh thử nghiệm trước cam kết với cây dev chính. Tuy nhiên, tôi không có chi nhánh thử nghiệm được kiểm tra và tôi không muốn mất các thay đổi đã được thực hiện.Cam kết thay đổi đối với một chi nhánh khác với chi nhánh hiện tại đã kiểm tra với subversion

Có cách nào để cam kết các thay đổi trong thư mục đang hoạt động với một chi nhánh khác với lần kiểm tra ban đầu không?

Trả lời

112

Bạn nên tạo một chi nhánh từ một tiếng sourceURL (điều này sẽ là 'dòng phát triển' của bạn, bạn được đề cập trong câu hỏi) đầu tiên:

svn copy sourceURL branchURL 

Sau đó, chuyển sang nhánh đó:

svn switch branchURL 

Và cam kết thay đổi của bạn:

svn commit 
8

Bạn có thể tạo chi nhánh mới trực tiếp từ thư mục làm việc của mình và chuyển thư mục làm việc sang nhánh đó.

Các lệnh là svn copysvn switch

44

Bạn có thể làm điều đó trong TortoiseSVN như thế:

  • Nhấp chuột phải vào thư mục nơi là những thay đổi mà bạn muốn chi nhánh. Nó không phải là thư mục gốc của kho, ít bị trùng lặp theo cách đó;
  • Chọn TortoiseSVN -> "Chi nhánh/thẻ ...";
  • Đặt Đến URL: "svn: // host/repository/FooBar/branches/FooBarBranchName";
  • Đảm bảo [*] Bản sao làm việc được chọn. Điều này sẽ đảm bảo các thay đổi được cam kết;
  • Thông báo tường trình: "Thử nghiệm với ruồi :)";
  • Tùy chọn: Chọn [*] Chuyển bản sao làm việc sang chi nhánh/thẻ mới. Điều này rất hữu ích nếu bạn đang có kế hoạch tiếp tục làm việc trên chi nhánh mới. Mặc dù bạn có thể chuyển sang nó sau này.
  • Cố gắng tìm nút OK. Gợi ý: nó nằm ở phần dưới của cửa sổ ở giữa.

Tận hưởng!

+0

Bạn có ý nghĩa gì bởi "Nó không được là gốc của kho lưu trữ, ít bị trùng lặp theo cách đó"? – thekozak

+0

Tôi khuyên bạn không nên chọn thư mục gốc với tất cả các thư mục con không có liên quan mà không bị sửa đổi trong chi nhánh. Sau đó nó sẽ được dễ dàng hơn để hợp nhất (nhỏ hơn) chi nhánh trở lại thân cây. –

+0

Trong trường hợp của tôi cam kết chỉ thư mục đó gây ra vấn đề bởi vì phần mềm phụ thuộc vào các thư mục siêu quá. Tôi nghĩ đó là trường hợp thường xảy ra nhất. Tôi nghĩ rằng đối với hầu hết các trường hợp sử dụng tốt hơn là chỉ cần cam kết toàn bộ điều, vì vậy cam kết từ gốc tôi nói được khuyến khích. – ikku100

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