女装网站建设规划书怎么写,奢做品二手 哪个网站好,电子产品东莞网站建设,专业做能源招聘的网站本文目的 让未使用过版本控制器软件或者未使用过subversion软件的人员尽快上手。 subversion的使用技巧很多#xff0c;这里只总结了最小使用集#xff0c;即主要的基本功能#xff0c;能够用来应付日常工作。 因此不涉及subversion服务器端的搭建和配置。 为什么要使用版本…本文目的 让未使用过版本控制器软件或者未使用过subversion软件的人员尽快上手。 subversion的使用技巧很多这里只总结了最小使用集即主要的基本功能能够用来应付日常工作。 因此不涉及subversion服务器端的搭建和配置。 为什么要使用版本控制 当多人共同开发同一个软件时会涉及源代码的共享以及带来的相关问题比如追究某个代码是由谁在什么时间修改的。 下面列出版本控制带来的好处 为团队提供了所有项目文档的回退按钮个人IDE工具只能提供某个文件的回退按钮而不能做到比如回退到2008年6月12日下午3点10分时的所有项目文件支持多个开发人员在可控的方式下为相同的代码工作版本控制系统保存了文档在过去的各个改动便于查找是谁在何时因为什么修改了文档支持在文档的主线上同时有多个版本版本的分支和合并是版本控制的主要手段一些开发团队仅仅是简单的共享代码主干支持查询在某个时点上项目各个文档的状态可用于研究生产效率等比如统计项目哪个时期代码提交最活跃以及每个人的代码提交频次等等也可用于对以前的软件发行版的再发行比如以前构建的2.0版本的安装包丢失了那么可以通过版本控制器记录的历史重新回溯到那个版本然后重新构建出安装包。为什么使用subversion 首先考虑的是使用免费开源和轻量级的版本控制器。 第二要求使用比较广泛可选的有cvs和svn。 这里选择svn主要考虑是比较好集成apache使用提交代码支持原子级操作即比如提交3个文件如果因为网络或者其他原因上传2个文件后中断svn能做到服务器端回滚到提交前的状态而cvs做不到这点需要手工检查和恢复。 subversion的程序构成 subversion程序和mysql很类似是c/s结构的有客户端和服务器端。服务器端和客户端都是通过命令行方式启动和执行的。本文只会使用到客户端的命令。 第三方提供了各种图形界面的客户端工具比如eclipse插件subclipsewindows图形界面工具tortoiseSVN。这些后面会提到它们的基本使用。 subversion资源 subversion官方网站http://subversion.tigris.org/subclipse官方网站http://subclipse.tigris.org/tortoiseSVN官方网站http://tortoisesvn.tigris.org/使用subversion进行版本控制中文版在线版本http://www.subversion.org.cn/svnbook/安装subversion 有关subversion和subclise的安装暂略因为目前提供的虚拟机开发环境已经安装和配置。 tortoiseSVN可到官方网站上下载最新版本的windows安装包默认安装不需要做其他设置安装后需要重启计算机。能在资源管理器中鼠标右键菜单看到如下图所示条目就说明安装成功。 使用subversion 日常工作中使用subversion仅仅是几个命令或者操作并不复杂。但是它内部的一些机制需要逐渐去理解。 检出代码 在刚开始进入一个开发队伍的时候已经有版本控制和软件项目使用的第一个命令往往是检出checkout代码。或者当使用和研究开源软件的时候也是第一个要用到这个命令。这个命令的作用是把项目的源代码下载到用户本地并且带有版本控制信息。 比如执行以下命令获取一个项目的源代码 svn cohttp://easymorse.googlecode.com/svn/trunk/vfs.demo/ 这个命令将在本地当前目录建vfs.demo目录并将该服务器目录下的所有文件下载到本地并且会生成隐藏文件.SVN目录用于记录版本控制信息。 tortoiseSVN有图形界面的检出操作但是命令行方便快捷建议使用命令行。 如果使用eclipse并安装了subclipse插件可以通过插件导入项目。 然后 选择或者新建资源库位置 选择资源库中的项目目录。 然后就可以完成finish了。 初始导入 何时使用初始导入比如对于java开发人员来说在eclipse中编写了一个项目并决定把项目共享到版本控制器上这时就需要初始导入操作了。 以下以subclipse为例说明初始导入的步骤。 第一步选择share project共享你的项目 选择通过svn共享项目 填写svn提交的url 这个url需要subversion的管理员告知你还有用户名和密码。如果想练习一下google提供了免费的svn你可以通过http://code.google.com 申请项目这样就会有类似我上面的url和权限。 然后可以直接点击finish完成初始提交。选择next可以做定制模块名和初始提交的信息一般不需要。 如果你的svn服务器使用了https协议需要接受一个数字证书一般选择永久接受。 之后会要求输入用户名和密码。建议勾选保存密码否则会很麻烦。 这样再看项目会发现条目上多了问号这时需要选择哪些目录和文件需要提交哪些需要忽略比如生成的class文件等。 选择需要忽略的文件或者目录这时需要切换到导航视图下才能看到所有文件和目录 从导航视图看到的情况 选中需要忽略的目录和文件操作svn 然后提交整个项目即可。有关提交的操作见下文。 更新项目 项目在提交前应该先做更新项目操作。比如有一个文件a.txt已经提交到svn中这样可能有其他用户提交了新的改动到a.txt你现在又修改了a.txt准备提交你的改动。先操作更新a.txt这样如果该文件在svn服务器已经改动会将改动加入到当前本地的a.txt中。 在subclipse中的操作 提交代码 提交代码一般会级联当前目录下所有改动的内容。 删除代码 对于不再使用的代码可以直接删除掉比如通过windows删除文件通过ubuntu的rm命令或者通过eclipse的delete功能然后提交项目subclipse会知道哪个文件被删除了并将这个变化通知给svn服务器。 还原代码 如果代码做了改动可以是多个文件也可以删除了文件或者新增了文件但是没有提交到svn服务器可以通过还原功能恢复到改动前的样子。 版本的分支与合并 版本的分支和合并是版本控制的核心功能。 比如软件通过版本的分支将项目分配给多人做分工开发通过版本合并将这些分工实现的代码合并到新的版本中或者修改代码bug的时候可以先打出一个版本分支保留出现bug的版本比如分支版本名称为pre_fix_bug_2201这里2201表示bug的代号然后针对这个分支做修改fix这个bug再将修改后的内容提交到一个新的分支版本比如post_fix_bug_2201再到适当时候将这个分支合并到代码主干中去。 以上说了一下版本分支与合并的用途这里简单说一下svn版本分支合并的基本原理。 首先是版本分支实际上是将当前版本“copy”到分支上非常类似windows下将某个目录的快捷方式复制到其他路径。这种copy可以说是轻量级copy或者叫廉价copy不是复制版本内容而是做一个内部的引用。这样的copy很快对服务器也没有空间上的开销。 版本的合并是svn开发中的难点当做版本合并的时候服务器会试图智能的合并同一个文件的不同版本可能会带来版本冲突这需要操作者做手工的处理消除版本冲突。合理分工的项目应该可以通过管理手段尽量避免这种情况。 以下是通过subclipse演示版本分支的操作。首先项目文档应该已经全部提交然后选择 然后填写url一般是在tags/目录下 然后默认选项next即可然后选择finish按钮。在svn的相应路径下就会有一个同名的项目。 打分支实际上就是建立了一个项目的轻量级copy。 如何从版本的一个分支切换到另外一个分支这也是很重要的它能帮助你轻松在不同的项目版本中自动切换而不必在eclipse里维持多个项目。 选择要切换的项目版本路径或者直接输入亦可。 然后点击ok后项目即可切换到该版本下。 在分支上做了改动并且已经提交一般tags目录下的项目约定是只读的不建议改动这里是为了举例方便那么可以将这个版本合并到trunk主干代码中让主干也拥有最新的代码。 选择需要合并的源比如从tags上面一个版本合并到主干trunk代码中。 之后需要设置一些合并的特性这里默认配置即可。 执行完毕后会有一个合并报告可见没有出现冲突情况。 这时候看源代码可以发现有改动这些改动就是合并过来的代码。 改动如果没有问题就可以提交这样就完成了一次版本的合并工作。 “还原”已经提交的改动 如果文档没有提交还原是很容易的只需执行还原revert就可以了。有时候已经提交了代码结果发现了问题需要回退到之前提交的版本就不是很容易了。 这时候的还原其实是将以前的某个修订本revision覆盖当前的本地工作拷贝。然后再提交这些改动成为新的修订本。 下面演示一下。 首先提交了一个版本的改动这是以后需要还原回来这里为了以后还原方便要在提交的消息中说明改动了什么。这一步在开发中是必须的是纪律 下面再修改一下项目然后提交一次这里故意增加一个文件。 提交以后后悔了想恢复到前一个修订版。虽然可以通过版本号进行覆盖还原但是一般人是无法记忆这个版本号的另外就是实际情况往往更复杂不会像示例中那样是相邻的两个修订版。 所以提交修订版时的注解消息就显得特别重要。 这时可以通过svn的日志功能查看到这些版本和它们的注释消息。 看到历次版本的消息内容。 这样根据注释我们很容易找到需要还原到以前的那个修订版。如果不放心我们还可以根据上下文菜单对比两个修订版的区别。 看比较结果。可以看出增加了一个文件另外一个文件中有一处差异。 那么可以确定是从125修订版恢复还原。 更改后的项目相当于用125修订版还原了126修订版。 可以看到126版本添加的文件不见了另外VfsDemo.java文件也还原到125版本的内容。这时提交将成为127版本这个版本其实就是125版本。算是还原了主干trunk上的代码。 刷新历史可以看到修订版已经生效。 转载于:https://www.cnblogs.com/gaodong/p/3509031.html