2009-08-07 27 views
6

Tôi đã xem chi nhánh Subversion cụ thể của ứng dụng của mình. Gọi nó là '1.0'. Tôi đã làm việc trên một số thay đổi, thêm một số tệp mới, v.v. nhưng chưa thực hiện các thay đổi. Tuy nhiên, tôi không muốn thực hiện các thay đổi đối với nhánh '1.0'. Thay vào đó, tôi muốn cam kết các thay đổi của tôi đối với chi nhánh '1.1' mới. Theo như tôi có thể thấy trước tiên tôi sẽ cần kiểm tra một bản sao mới của nhánh '1.0', sau đó tạo một nhánh Subversion mới có tên là '1.1' và sau đó sao chép các thay đổi đang chờ xử lý của tôi theo cách thủ công trước khi cam kết. Quay lại đầu trang ||||Câu hỏi chi nhánh của Subversion

Có cách nào dễ dàng hơn để thực hiện việc này không?

Trả lời

9

Bạn có thể tạo chi nhánh từ xa, sau đó chuyển sang nhánh mới và cam kết thay đổi.

$ cd /path/to/working 
$ svn copy svn://my/repos/trunk svn://my/repos/branches/1.1 -m "Created branch 1.1" 
$ svn switch svn://my/repos/branches/1.1 
$ svn commit -m "Your message" 
+0

bạn có thể muốn sao chép nhánh thay vì thân cây trong dòng thứ hai. –

+0

Điều này đã làm các trick. Cảm ơn rất nhiều. – Rob

2

svn switch cho phép bạn chuyển bản sao làm việc của mình sang một chi nhánh khác. Bạn có thể tạo chi nhánh trước mà không cần kiểm tra bản sao mới với svn copy <repository>/branches/1 <repository>/branches/2

3

Bạn thực sự có thể tạo một chi nhánh mà không cần sao chép tất cả, chỉ sử dụng các URL từ xa. Nếu bạn làm svn copy của thân cây (hoặc nhánh 1.0) với nhánh 1.1, thì bạn có thể thực hiện svn switch để di chuyển bản sao làm việc của bạn để trỏ đến nhánh mới rồi cam kết ở đó. (Nếu bạn chưa làm điều gì đó như thế này trước đây, nó là khôn ngoan để lưu một bản sao lưu bản sao làm việc hiện tại của bạn để bạn không bị mất những thay đổi của bạn.)

Ví dụ ...

svn copy http://svn.example.com/branches/1.0/ \ 
     http://svn.example.com/branches/1.1/ \ 
    -m "Creating 1.1 branch." 

cd /path/to/working/copy 
svn switch http://svn.example.com/branches/1.1/ 

Đưa hãy xem svn help switch để biết thêm chi tiết.

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