SVN文件删除与恢复,解决status 为 missing的问题
  admin 发表于 2015-03-15 09:48  分类:技术资料  3,055 次阅读  0条评论

       在TortoiseSVN管理的项目中删除文件的方法:

       1. 在客户端按delete删除(OS中删除,不通过SVN)
               ● 未提交之前一旦Update则被删除的文件立刻回来。
               ● 在revert反删除工具中不显示(其实SVN并不知道删除了这个文件)。
               ● 在此状态下提交会提示该文件的状态为missing。        
                       ○ 如果勾选missing的文件提交,则删除操作被提交到容器,容器中该文件也被删除。
                          这时候当然Update也不会回来了,只能从OS中恢复删除。
                       ○ 恢复删除后再次提交,则追加该文件到容器。
                       ○ 如果不勾选missing文件提交,则容器中不会删除该文件。
               ●
       2. 在客户端右键点击文件,通过SVN的Delete删除
               ● 未提交之前即使Update也不会回来(SVN已经知道客户端删除了该文件)
               ● 打开revert工具,其中显示该文件的状态为deleted。勾选该文件点击OK则该文件即被恢复。
               ● 在此状态下提交会提示该文件的状态为deleted。
                       ○ 若勾选deleted的文件后提交,则删除操作提交到容器,容器中该文件也被删除。
                          这时候revert工具中也不再显示该文件,OS中也无法恢复删除。
                       ○ 若不勾选deleted文件提交,则容器无变化。              
                       ○ 提交删除后要恢复该文件:
                           1. 在show log中找到删除前的版本,右击该版本,选择revert to this version。假如删除前版本为10,
                               容器中最新版本为15,则要将客户端拷贝恢复到10,删除掉的文件就会被追加回来。
                               而此时容器中却还保持着版本15。所以客户端显示该文件的图标为 “+” ,即相对于容器多出来的文件。
                               如果要将容器也恢复到删除前的版本,可以提交一下,然后update,之后会发现容器中也恢复了该文件,
                               同时版本变为16。
                           2. 通过 update to version 更新到删除前的版本(同上假设为10)。和上例的区别是多出来的文件不会提交
                               到最新版本。 而一旦再次update最新版本(版本15),该文件就再次被删除。
                           3. 在show log中找到删除前的版本,右击该版本,选择check out,重新签出该版本。与2类似。
       3. 在repo-browser中右击该文件选择删除
               ● 这会直接从容器中删除该文件。删除后容器版本立即增加1。
               ● 客户端update之后会同步删除该文件。
               ● 可在show log工具中恢复,方法同上。

       

本文固定链接: http://www.youduoshao.com/2015-03-15/201503152392.html

填写您的称呼和邮箱即可发布评论

快捷键:Ctrl+Enter