回答
解決:SVN 合併-r1234:4321路徑/到/ yourfile路徑/到/ thefileyouwanttogobackto,
其中
1234是你的修訂
4321是你想回去修改。
你可以做一個「反向合併」,即「應用」所有更改從當前的修訂,要回去修改(即撤銷所有要回去的變化從修訂到目前修訂版)。
svn merge -r HEAD:nnnn .
其中nnnn
是您想要返回的修訂。 http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.merge.html
查看更改後,解決所有衝突等,請使用svn commit
將更改推送到存儲庫。
如果你知道你要在這裏恢復某個版本是恢復它多了一個途徑。
svn diff -c r1031 | grep ^Index | awk '{ print $2}' | xargs -I {file} svn export -r 1030 {file} {file}
它發現在R1031改變了所有文件,並與從版本相同的文件替換1030
PS:也請小心,如果你要恢復的文件並沒有出現在1030它可能可能不符合你的預期。
詳情請參閱此博客條目:
http://blog.mafr.de/2008/05/13/revert-a-commit-in-svn/
一些好的背景說明:
要了解這裏發生了什麼,需要什麼 合併命令會概念的一些背景:它記錄哪些變更必須由 修改爲N修改爲修訂N + 1(稱爲增量) ,並將其應用於工作副本。這不是我們在 方案中想要的,所以我們將命令 一行的修訂順序顛倒過來。實際上,我們告訴合併命令以其他方式創建一個增量 。結果是代碼庫的「倒帶」。
而且也,在評論中,如何做到這一點的TortoiseSVN:
要在TortoiseSVN做到這一點,用鼠標右鍵單擊該目錄或文件 你想恢復,並使用「合併「從TortoiseSVN菜單。選擇 選項「合併兩棵不同的樹」。在「發件人」下方,選擇修改頭 。在「收件人」下選擇舊版本+1(即如果您希望 恢復到版本169,請在版本框中輸入修訂版本170)。在SVN Book
最簡單的方式描述:
$ svn merge -c -303 http://svn.example.com/repos/calc/trunk
將撤銷在變更303所做的任何更改,您可以查看並根據需要進行提交。
- 1. SVN恢復更新
- 2. 恢復上次更新svn
- 3. 從SVN,SVN克隆恢復不--stdlayout
- 4. 龜SVN:恢復
- 5. 恢復在SVN
- 6. svn恢復 - 恢復個別修訂版
- 7. SVN似乎沒有恢復更改
- 8. Svn恢復所有屬性更改
- 9. SVN子變更集提交?
- 10. 從備份中恢復SVN存儲庫
- 11. 如何從svn hotcopy備份中恢復
- 12. SVN從NAnt腳本中恢復?
- 13. SVN - 從備份恢復存儲庫
- 14. SVN如何從功能分支恢復更改
- 15. 恢復git-svn克隆
- 16. 在SVN中恢復文件
- 17. 需要澄清SVN恢復
- 18. 如何恢復SVN提交?
- 19. 與烏龜SVN恢復
- 20. svn恢復異常結賬
- 21. SVN結帳無需恢復
- 22. 從git的恢復變基
- 23. 從SVN倉庫內恢復一個SVN倉庫
- 24. 恢復的git - svn的克隆:「混帳SVN取」從頭開始
- 25. 烏龜SVN只在一個文件的變更集中恢復一次更改,是否有可能?
- 26. Svn:恢復文件內容更改而不恢復任何相關的mergeinfo?
- 27. SVN恢復更改。重新申請後續更改
- 28. 有沒有辦法在visual studio 2005中恢復變更集2005
- 29. 如何恢復合併到另一個分支的變更集?
- 30. 如何恢復已刪除的變更集
請更詳細一點。 – splash 2010-10-27 09:36:11
當我爲每個文件執行svn還原時沒有任何事情發生。 – Woppi 2010-10-27 09:39:10
請更詳細一點。如果更改已提交,則可以恢復到預先提交的修訂版本。 – user434507 2010-10-27 09:40:57