Subversion 其中一個功能就是回復。
如果改的東西還沒有送交 (commit) 的話,只要下
svn revert path/filename.txt
就可以回復到原本的狀態。
但是如果已經 commit 出去的,就不能用 svn revert
來處理。
之前用的是很笨的方法:先 svn update
到正確的 revision N ,然後把檔案複製到暫存目錄,再 svn update
到錯誤的 revision N+1 ,再把剛複製的檔案覆蓋回去…XD
正確的解法是下
svn merge -r N+1:N path/filename.txt
把從 revision N 到 N+1 做的事逆向 merge 回來,然後先 svn diff
看一下,沒問題就再 svn ci
上去。
有問題的話,就再下 svn revert
就可以了。
指令本身不難,難在想破頭也不會想到是下 merge 啊…XD
全站熱搜
留言列表