博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
版本管理软件
阅读量:5892 次
发布时间:2019-06-19

本文共 1909 字,大约阅读时间需要 6 分钟。

  软件公司最重要的就是软件的代码了,代码是程序员辛勤工作的成果。针对代码的控制是非常重要的,每天程序员们写了新的代码,修改了哪些代码,升级发布了一个版本,希望都需要被记录,版本管理软件这时候就发挥作用了。一般,我们在各种IDE上面看到的集成版本管理软件有CVS,SVN,GIT,使用方面后面2个比较多,第一个似乎是说要进行权限管理上面的,上面3个都是开源软件。

  一般,小型项目,可以考虑用SVN来管理,有不错的图形界面,而且eclipse支持也比较好。SVN,全称-subversion,是一种版本控制工具,和git差不多,不过git在分布式管理方面更加有优势,毕竟当初的目的就是用来管理Linux源码的。本地搭建SVN,需要一个客户端和一个server端,客户端在windows中需要一个TortoiseSVN(海龟SVN),直接下一步下一步安装即可,服务端安装一个可视化的VisualSVN,标准版,不断下一步即可。

  在SVN服务端,有几个项目,一个是repository,一个是客户,还有一个是组,repository就是仓库,客户和组的功能主要是对用户的权限管理等。repository仓库需要先自己建,一般直接默认即可,有几个注意,有个single(含有分支的),权限不用设置,可以修改的,最后会生产一个URL

  一般右键有Tortoise就可,有个checkout,还有个tor的功能选项,先checkout,就可以和服务端建立连接,URL就填上面的那个就可。然后就可以创建文件,修改文件,右键Tor就可以执行提交更新等操作了。

  在分配多个用户时,一般一个用户每天到来时先update,再做事,然后完成了一个小任务,就可以提交。这时,可能出现几种情况,一种是AB用户提交修改了不同行,那么先提交的那个用户,成功,后提交的用户提示需要更新再提交,按提示操作,merge成功。但是如果两个用户是在同一行进行操作,那么第二个提交的用户即使update仍然“失败”,同时会出现几个文件,用来提示用户更改前后文件的内容,这时右键有个功能,编辑冲突,在冲突行会有高亮操作,或者移到下一行还是上一行等。

  一般我们用SVN,主要和一些IDE或者文本编辑器结合起来使用,比如和Eclipse的结合,有一个插件解决了这个问题,叫subclipse,下载解压放到eclipse安装目录的dropin目录里面即可。这里注意,也可创建一个link类型的文件,如subclisp.link的文件,内容为path=文件的路径(注意把路径的\换成/即建立了一个快捷方式。重启eclipse,在windows里面的配置里面可以看到SVN的选项,有时64位版本可能会有异常报告,在SVN里面把SVNCLIENT改为purejava即可。在show里面有一个SVN资源库,点出来,添加SVN资源库,检出,现成的工作空间,即可在eclipse完成部署。右键工作空间的项目,在team里面可以执行提交更新或者分支等操作。

  更一般的是,建立了一个trunk(主干,主要是项目的成长进度)branches(主要针对项目的一些枝叶,或者是一些个性化的操作,如针对类似项目的不同客户的定制需求)tag(主要是发布的版本)的目录。

  这时候检出,主要是针对一个模块,如trunk或者branches,在每个模块中进行更新,修改,添加,当编辑好之后,右键有个分支|标记功能,弄一个版本1

  考虑一种情况,trunk中不断地升级功能,版本迭代,但是因为用户量巨大,之前的版本突然发现有 bug,那么在tag中检出之前的版本1,在branches中必须要有一个文件,然后在tag中右键切换功能,上面的位置需要填写好,就是branches中里面有的文件,这是可成功转换。

  在branch中修复bug完成,先提交,再分支\标记到tag标签中,注意文件名的填写,即可。

  在branch中切换即可看到修改好的新tag了。注意tag用于存放release的版本。另外修改后的代码仍然需要整合到trunk上面来,防止后续版本也出现这样的问题。这是可以使用merge功能。

  在工作空间中,可以用teamshared功能,即可创建一个关于该项目的版本控制,注意文件名字的填写。

  使用注意:

  windows中没有右键菜单,可以在注册表中,软件中,含有tortouiseSVN的文件夹删除,重启电脑,再次安装一遍,即可。

 

 

转载于:https://www.cnblogs.com/likeshu/p/5021473.html

你可能感兴趣的文章
6.1(续)索引、索引组织表--Oracle模式对象
查看>>
动画 球
查看>>
C++中的堆,栈,静态内存区,常量区
查看>>
动态SQL实现与注意事项(有返回值与无返回值动态SQL 实现)
查看>>
java struts2 debug
查看>>
简单够用的设计
查看>>
Android图片圆角效果
查看>>
WeChat Official Account Admin Platform API Introduction
查看>>
C语言写单链表的创建、释放、追加(即总是在最后的位置增加节点)
查看>>
poj1635
查看>>
C# LINQ详解(一)
查看>>
视频直播点播nginx-rtmp开发手册中文版
查看>>
ruby学习总结04
查看>>
Binary Tree Paths
查看>>
Ueditor自定义ftp上传
查看>>
线程以及多线程
查看>>
PHP队列的实现
查看>>
单点登录加验证码例子
查看>>
[T-SQL]从变量与数据类型说起
查看>>
稀疏自动编码之反向传播算法(BP)
查看>>