Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器。不同的是,它可以记录每一次文件和目录的修改情况,这样就可以在需要的回滚时,将数据恢复到以前的版本,并可以查看数据的更改细节。
问题描述
假设原来的版本为 r10,我修改了工作副本,并提交,变成r11;后来又修改,提交,变成r12。
最终我发现这两次提交都有问题,如何让代码仓库中的内容恢复到r10的内容呢?(最好是放弃r11和r12,或者可以使r13的内容跟r10相同)
解决方案
$ svn merge -r 12:10 http://svn.example.com/repos/myproject/trunk -m "message"
常用操作
还原到某个版本
svn up -r 版本号
svn up -r 版本号 文件名称
还原改动
对应提交(commit),要有类似回滚(rollback)的操作。
$ svn revert
还原已提交的改动
revert只适合未提交的情况。 如果已经提交,发现问题,要回退到之前的修订版。 首先需要:
$ svn up
让本地工作拷贝更新到最新状态。 然后:
$ svn log your_file_path
查看文件日志,这时候提交时填写的说明信息就派上用场了。 查看两个修订版之间的不同:
$ svn diff -r 旧修订版序号:新修订版序号 your_file_path
决定用哪个旧的修订版号后,用旧的修订版号文件覆盖新的修订版号文件。
$ svn merge -r 新修订版序号:旧修订版序号 your_file_path
还需要:
$ svn commit -m “恢复到某修订版(某修订版作废)”
这个还原是所谓的,不是用旧的版本号替代,而是将旧文件覆盖新文件。
原文网址:http://demi-panda.com/2012/11/13/version-revert
问题描述
假设原来的版本为 r10,我修改了工作副本,并提交,变成r11;后来又修改,提交,变成r12。
最终我发现这两次提交都有问题,如何让代码仓库中的内容恢复到r10的内容呢?(最好是放弃r11和r12,或者可以使r13的内容跟r10相同)
解决方案
$ svn merge -r 12:10 http://svn.example.com/repos/myproject/trunk -m "message"
常用操作
还原到某个版本
svn up -r 版本号
svn up -r 版本号 文件名称
还原改动
对应提交(commit),要有类似回滚(rollback)的操作。
$ svn revert
还原已提交的改动
revert只适合未提交的情况。 如果已经提交,发现问题,要回退到之前的修订版。 首先需要:
$ svn up
让本地工作拷贝更新到最新状态。 然后:
$ svn log your_file_path
查看文件日志,这时候提交时填写的说明信息就派上用场了。 查看两个修订版之间的不同:
$ svn diff -r 旧修订版序号:新修订版序号 your_file_path
决定用哪个旧的修订版号后,用旧的修订版号文件覆盖新的修订版号文件。
$ svn merge -r 新修订版序号:旧修订版序号 your_file_path
还需要:
$ svn commit -m “恢复到某修订版(某修订版作废)”
这个还原是所谓的,不是用旧的版本号替代,而是将旧文件覆盖新文件。
原文网址:http://demi-panda.com/2012/11/13/version-revert
发表评论
-
maven install报错
2015-12-08 22:00 3932今天遇到一问题,以前做的一项目,以前直接maven insta ... -
eclipse svn过滤要提交或更新的文件
2015-06-11 15:54 3752eclipse svn过滤要提交或更新的文件 sv ... -
Maven项目无src/main/java源文件或无法创建此源文件
2015-06-11 11:03 771在项目上右键选择properties,然后点击java bui ... -
maven web项目显示红叉叉
2015-06-04 13:54 97901.)新建 maven web 项目中(代码没问题,但Ja ... -
plsql快捷键设置
2015-01-19 14:15 24431.使用PL/SQL中经常性需要输入select * fro ... -
80端口是否被占用的解决办法
2014-12-19 20:57 155380端口是否被占用的解决办法(如何关闭IIS,禁止其占用80端 ... -
Eclipse背景颜色设置,保护眼色
2014-11-17 16:15 1910菜单栏 windows–> preferences ... -
eclipse 字体、主题、工具条、Quick Access配置
2014-10-09 09:48 2909eclipse 字体、主题、工具条、Quick Access配 ... -
maven项目pom文件jar包更新
2014-07-25 14:40 6349mavven项目[snaker(workflow)]pom文件 ... -
常用略记
2014-04-17 21:52 510QQ接收图片存放默认位置:C:\Users\用户名\Docum ... -
svn更换用户名密码
2014-04-02 12:47 1486subclipse svn更换用户名密码 1. 查看你的Ec ... -
Eclipse安装Freemarker编辑器插件
2014-03-17 20:47 6508Eclipse在线安装Freemarker编辑器插件 st ... -
eclipse安装mave和svn
2014-03-12 21:48 1235-------eclipse安装Maven mave ... -
myeclipse Available Memory is low问题解决方法
2014-02-28 19:33 3577在你安装的Eclipse目录下的eclipse.ini文件中添 ... -
eclipse调试去除所有断点
2014-02-25 16:50 927今天调试的时候发现之前加了太多断点,想去除所有断点,才想起来一 ... -
MyEclipse设置打开JSP页面的默认方式
2014-02-17 11:23 680window -> preferences -> ... -
eclipse快捷键命令
2013-07-06 21:02 1007工具栏上,打开window-> ... -
MyEclipse设置编码方式eclipse编码设置
2013-06-19 09:33 6741、windows->Preferences--> ... -
Eclipse更改代码字体大小
2013-06-02 11:20 982更改java文件大小设置 Window->prefere ...
相关推荐
- 示例:`svn update -r 10`,将当前工作副本更新到版本10。 - **svn help update**: - 此命令用于显示`svn update`的帮助文档。 - **使用方法**:`svn help update`或简写`svn help up`。 #### 三、svn update...
Subversion(简称SVN)作为一款广泛使用的集中式版本控制系统,在备份方面提供了多种机制来满足不同场景的需求,主要包括完全备份、增量备份以及版本库同步等方法。 #### 二、完全备份 完全备份是最基础也是最直接...
`svn ci` 命令用于将工作副本的更改提交到版本库。 **3.4 `svn st`** `svn st` 命令显示工作副本的状态,包括哪些文件已被修改、新增或删除。 **3.5 `svn log`** `svn log` 命令用于查看提交日志,了解历史更改...
svn commit -m "回退到版本r123,原因是... " ``` 在这里,`-m`后面是你的提交信息,解释为何回退到这个版本。 六、注意事项 1. 回退操作可能导致丢失最近的改动,所以在执行前确保你了解可能的后果。 2. 如果团队...
这将把更改推送到版本库,并更新所有其他用户的副本。 **使用SVN的基本操作:** 1. **检出(Checkout)**:从版本库下载最新版本的项目到本地工作副本。 2. **更新(Update)**:获取仓库中的最新更改,同步到...
然而,有时候由于项目调整、错误操作或者不再需要特定版本的需求,可能需要从SVN中删除某个或某些版本。 删除SVN版本并非指删除项目本身,而是指撤销版本历史中的某一提交,使得这个提交在版本历史中不再可见。这...
通过删除服务器版本记录和更改版本信息,我们可以快速将项目状态恢复到某个历史版本。然而,这一过程涉及直接操作数据库,存在一定的风险和复杂度,因此在实施前必须充分考虑其必要性和潜在后果。正确的备份策略、...
有时候,由于各种原因,我们可能需要将某个项目或者文件从SVN的版本控制中移除,这通常涉及到删除SVN相关的元数据,而不是简单地从文件系统中删除文件。 描述中提到的博客链接指向了ITEYE上的一篇文章,但具体内容...
1. 版本控制:SVN记录每次对文件或目录的修改,使用户可以回溯到历史版本,查看更改记录,对比不同版本之间的差异,并在必要时恢复旧版本。 2. 协作开发:通过集中式仓库,SVN使得多个开发者可以同时编辑同一份代码...
在本教程中,我们介绍了 SVN 的基本使用和操作,包括初始化检出、选择 SVN 检出、浏览服务器上的目录、上传文件、提交文件、刷新和提交修改、删除文件、查看服务器上的版本、还原操作和恢复删除本地删除等。...
例如,如果一个静态资源文件在某个时间点被修改,而这个修改并未被提交到SVN,工具依然能够识别并将其包括在打包文件中。 标签"svn工具"和"版本控制"明确指出了这个工具的核心功能。使用版本控制工具,如SVN,是...
- **备份**:在清理之前,确保你有项目的备份,以防万一需要恢复到某个版本。 - **不适用于版本控制之外的场景**:如果你只是想分享代码或构建发布版本,清理`.svn`文件夹是合适的;但如果还需要继续使用SVN,那么...
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。通过创建SVN备份脚本,我们可以确保在开发过程中对代码库进行安全保护,避免数据丢失。以下将详细介绍如何实现SVN的增量备份和...
svn add 命令用于将文件添加到版本库中。该命令的基本语法为:svn add <文件名>。例如:svn add test.php(添加 test.php 文件),svn add *.php(添加当前目录下所有的 php 文件)。 3. 将改动的文件提交到版本库 ...
它将数据存储在一个中央仓库(repository)中,记录每次文件的变动,使用户能够恢复到旧版本或者浏览历史记录。SVN不仅适用于程序源代码管理,还可以用于管理任何类型的文件。相比传统的版本控制工具(如VSS)采用的...
在实际操作中,确保在删除.svn文件夹之前备份项目,以防万一需要恢复到某个特定版本。此外,如果团队中还有其他成员在使用svn,断开连接前应告知他们,以免造成协作混乱。 总结,"svn本地文件夹断开服务器连接"这一...
在开发过程中,SVN用于跟踪和管理源代码更改,但有时用户可能需要从本地文件系统中完全移除与SVN相关的元数据,比如.svn隐藏文件或配置文件,这通常是当项目不再使用SVN或者切换到其他版本控制系统时的操作。...
通过版本控制,每个修改都会被记录下来,允许用户随时查看历史版本并恢复到某个特定状态。分支管理使得团队成员可以在不影响主分支的情况下独立工作,然后将他们的更改合并回去。合并功能确保多个人的工作可以安全地...
- **创建分支/标签(Branch/Tag)**:复制仓库中的某个状态到新的分支或标签路径,用于长期的分支开发或保存特定版本。 - **合并(Merge)**:将分支的更改合并到主分支,通常在解决冲突后进行。 - **解决冲突**:当...