在我正在进行的项目中犯了一系列错误.如何恢复已知的工作版本并在此基础上构建?说我在修订版15,但我想回到修订版10 - 并继续工作10.我正在使用Zend Studio.
我可以删除SVN中存在的修订吗?
ash*_*cus 53
从命令行:
svn up -r [revision_number]
Run Code Online (Sandbox Code Playgroud)
其中[revision_number]是您要恢复的修订版本.
不,您无法删除SVN中已存在的修订版.
Ani*_*kur 12
您只需使用即可更新修订版
svn up -r 10
Run Code Online (Sandbox Code Playgroud)
但正如Christoph所说,这不会让你提交更改,因为SVN需要你在提交之前将工作副本更新为HEAD.你可以做的是
svn merge -r HEAD:10 yourFile
svn ci yourFile -m "Reverting back to rev 10"
Run Code Online (Sandbox Code Playgroud)
三种选择:
反向合并:( 最快,保留错误修订,添加新版本)
svn merge $(REPO)@$(GOODREV) $(WC)
Run Code Online (Sandbox Code Playgroud)
SVN转储:( 完全删除不良修订)
svnadmin dump $(REPO) -r 1:$(GOODREV) > dumpfile
svnadmin load $(NEWREPO) < dumpfile
# Now delete $(REPO), and use $(NEWREPO)
Run Code Online (Sandbox Code Playgroud)
手工编辑:( 删除不良修改,不安全,不得已)
您可能需要这个的唯一原因是,如果由于某种原因您对存储库具有文件级访问权限,但没有shell访问权限.请注意,这仅在SVN 1.6和1.7上进行了测试.
$(GOODREV)(如果离开HEAD,我们完成后将无法使用.)db/current为$(GOODREV).一定不要改变LF行尾.db/revs/*/*和db/revprops/*/*>$(GOODREV)db/rep-cache.dbHEAD,现在应该等于$(GOODREV).请注意,如果您使用的是TortoiseSVN,则还必须完成以下步骤:
%APPDATA%\TortoiseSVN\logcache\*TSVNCache.exe通过任务管理器终止所有实例.(通常有一个,但在WinVista +上可能是2,因为UAC安全性,这可以防止提升的应用程序与非提升的应用程序进行交互TSVNCache.exe.第一次Save As...从提升的应用程序打开对话框时,TSVNCache.exe会产生提升的.)这将修复由TortoiseSVN的缓存与新的repo状态冲突导致的奇怪日志显示.
| 归档时间: |
|
| 查看次数: |
69211 次 |
| 最近记录: |