将svn文件夹还原为以前的版本

Lak*_*sad 47 svn version-control

要将SVN中的特定文件夹恢复到以前的状态,我目前使用以下内容:

svn rm folder
svn commit -m 'removed folder to revert to previous version'
svn co http://pathto/repo/folder@268
cd folder
rm -rf .svn //recursively if many folders
svn add folder
svn commit -am 'reverted to the previous version'
Run Code Online (Sandbox Code Playgroud)

对于什么应该是一个相当常见的用例来说似乎太麻烦了.我一定是做错了.你怎么能这样做?

Jac*_*zny 90

为什么不用svn merge

假设您要从当前的HEAD(上次提交的)版本恢复到修订版268:

cd folder
svn up
svn merge -r HEAD:268 .
Run Code Online (Sandbox Code Playgroud)

然后手动解决所有冲突(如果没有本地更改则应该没有任何内容)和:

svn commit -m "- reverted to revision 268"
Run Code Online (Sandbox Code Playgroud)

要恢复单个更改(例如,在修订版666中进行):

cd folder
svn merge -c -666 .
Run Code Online (Sandbox Code Playgroud)

要还原本地更改(尚未提交):

cd folder
svn revert -R .
Run Code Online (Sandbox Code Playgroud)