由于项目的历史原因,需要将当前项目回滚到历史版本。
由于对版本回滚的操作流程也不是很熟悉。尝试了以下几种方式:
1 直接回滚
这种方式只支持到文件级,想整个项目回滚办不到,据说svn可以。
2 使用merge方式
用历史版本覆盖当前最新版本,也就是用旧文件覆盖新文件。merge过程倒没有什么问题,提交时出现了如下错误:
cvs commit: failed to remove tag `HEAD' from `XXX` file。
不知如何解决,放弃了这种方式。
后来想了一下以上两种方式,解决问题的思路出了问题,为什么不从历史版本中切出一个分支呢,这样还可以保留当前的项目(可能将来还要开发呢)。
如下是解决版本回滚的具体操作步骤
3 从历史版本切分支
具体操作如下:
a 更新到指定的历史版本(通常是一个tag号),这一步很重要,如果不更新到指定版本就创建分支,那么分支的内容就相当于当前版本的一个副本。
b 利用wincvs的图形化操作窗口,创建分支。