2010-07-01 21 views
11

Giả sử tôi đang sửa đổi 50. Nhưng, tôi muốn hoàn nguyên về bản sửa đổi 45 và cam kết trở lại làm phiên bản ổn định.Làm cách nào để tôi hoàn nguyên về cam kết SVN trước đó?

Làm cách nào để làm điều đó, theo cách đơn giản nhất?

  1. Nếu tôi muốn làm điều đó bằng một tệp thì sao?
  2. Nếu tôi muốn làm điều đó với toàn bộ kho lưu trữ thì sao?
+0

Có thể trùng lặp [Hoàn nguyên thư mục svn thành bản xem trước trước đó] (http://stackoverflow.com/questions/2324999/revert-a-svn-folder-to-a- bản sửa đổi trước đó). Lưu ý rằng svn không quan tâm nếu đích là một tệp, một thư mục hoặc gốc của kho lưu trữ. – sbi

Trả lời

23

tôi m không chắc chắn ý của bạn là "cam kết trở lại như phiên bản ổn định", nhưng tùy thuộc vào những gì bạn đang cố gắng hoàn thành Tôi khuyên bạn nên:

svn update -r45
này sẽ rebase bản sao làm việc của bạn ở phiên bản 45.

hay:

svn merge -c -50, -49, -48, -47, -46
Điều này sẽ cập nhật (bằng cách hợp nhất ngược) bản sao làm việc của bạn bằng cách xóa tất cả thay đổi giữa 45 và 50. Bây giờ nếu bạn thực hiện thay đổi và cam kết, nó sẽ giống như bạn đã xóa 46-50 khỏi kho lưu trữ và thực hiện sửa đổi CHÍNH (51?) Thành r45 + thay đổi của bạn.

+0

cho phiên bản trước, cập nhật svn -r PREV – diewland

4

Reverse merge các bản chỉnh sửa mà bạn muốn hoàn tác. Điều này có thể được thực hiện trên một hoặc nhiều tệp. Bằng cách hợp nhất ngược lại, bản sao làm việc của bạn được thay đổi thành tiểu bang mà không cần sửa đổi, mà bạn có thể cam kết.

-2

Tôi nghĩ rằng một trong những cách đơn giản nên có này:

  • kiểm tra phiên bản 45 vào một thư mục tạm thời
  • sao chép một hoặc Alle file vào thư mục làm việc của bạn
  • cam
+0

Xem "Tại sao không sử dụng các bản vá thay thế?" trong [SVN book] (http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.branchemerge.basicmerging.stayinsync) tại sao bạn nên tránh hợp nhất thủ công. – sbi

+0

Cảm ơn gợi ý! – splash

0

Bạn chỉ có thể làm một bản cập nhật để sửa đổi sử dụng

svn up -r 45 

Nhưng điều này sẽ không cho phép bạn cam kết những thay đổi như SVN cần bạn để cập nhật bản sao làm việc của bạn lên đầu trước khi bạn có thể cam kết. Thay vào đó, những gì bạn có thể làm là

svn merge -r HEAD:45 yourFile 
svn ci yourFile -m "Reverting back to rev 45" 
Các vấn đề liên quan