用SVN代替"git reset --hard"

Que*_*tin 20 svn

我想将我的SVN 中央存储库,而不是工作副本,从版本M恢复到版本N(M> N),就像git reset --hard

我怎样才能做到这一点 ?

Xin*_*ing 42

干得好.

svn revert --recursive .
Run Code Online (Sandbox Code Playgroud)

  • 这似乎比选定的答案更可取。更容易记住命令并且无需挖掘 repo URL)。 (2认同)

eck*_*kes 11

编辑

另一个答案(/sf/answers/1715029781/)似乎比我提出的解决方案更好.检查一下!


在客户端,它很简单:

svn checkout -r <revision> url://path/to/repo
Run Code Online (Sandbox Code Playgroud)

应该这样做.

如果你在服务器上(就像你编辑过的问题所说的那样),那取决于你想要实现的目标.


如果你想丢掉之后的所有修改N,请做一个

svnadmin dump -r1:N yourrepo > repo.dump
Run Code Online (Sandbox Code Playgroud)

然后,删除旧的仓库并创建一个新的仓库

svnadmin create newrepo
svnadmin load newrepo < repo.dump
Run Code Online (Sandbox Code Playgroud)

如果您想保留您的仓库,请检查N客户端并提交到服务器,这N是最新状态.


第三个:建立一个分支,从N那个分支开始.