Man*_*imo 14 svn revision revert svn-trunk
是否有可能在svn服务器中删除修订版,好像它从未存在过?
所以我们有以下修订:
1004 // Commit of some bogus code that broke the build and was just wrong
1003 // Change 1.2
1002 // Change 1.1
1001
1000 *** Initial checkin
Run Code Online (Sandbox Code Playgroud)
我们可以删除svn中的1004并恢复到1003,好像1004从未存在过吗?
原谅我的无知,我还在学习如何使用SVN.
JB *_*zet 27
这些事故很明显,如果SVN将它们保留在历史中,这不是问题.重要的是修复事故.执行此操作的方法是还原此提交所做的更改.使用以下命令:
svn merge -r [current_version]:[previous_version] [repository_url]
svn commit -m “Reverting previous commit and going back to revision [previous_version].”
Run Code Online (Sandbox Code Playgroud)
如果您正在使用TortoiseSVN,则只需显示日志,选择提交,然后在上下文菜单中选择"从此修订版还原更改".它会将您的工作副本更改为以前的版本,您只需提交即可.
我猜其他图形客户端也有相同的选择.
ty8*_*812 15
VCS系统专门设计用于使其尽可能复杂.你通常不想这样做.
话虽如此,从官方文件:
在某些特殊情况下,您可能希望销毁文件或提交的所有证据.(也许有人意外地提交了一份机密文件.)这并不容易,因为Subversion是故意设计的,永远不会丢失信息.修订是不可变的树,彼此建立在一起.从历史记录中删除修订版会导致多米诺骨牌效应,在所有后续修订版中产生混乱,并可能使所有工作副本无效.
然而,该项目有计划实施一项
svnadmin obliterate命令,该命令将完成永久删除信息的任务.(见问题516.)与此同时,您唯一的办法是使用
svnadmin dump您的存储库,然后将dumpfile通过svndumpfilter(不包括坏路径)传递给svnadmin load命令.有关详细信息,请参阅Subversion书的第5章.
http://subversion.apache.org/faq.html#removal