基于SVN软件版本管理的详细操作

01--SVN的作用

软件版本管理工具

记住开发人员的每一次修改

查看所有的修改记录

恢复到任何历史版本

对比任意历史版本的与当前版本的差异

根据岗位属性分配权限

02--SVN的基本操作

2.1--检出--checkout

 

 红框标记的地址,根据项目的不同,选择你想要的文件到本地,

检出后如果文件夹没有绿色的勾,说明当前文件没有和服务器进行同步,需要重启电脑(同步主要是针对开发人员有读写权限,权限联系IT人员)

 

 2.2--新增文件

 创建一个文件夹“TEST”,新增一个文件“Interface.c,

 

2.3--提交文件

右击文件夹内任意空白处,点击“SVN提交”,在下侧红框处选择你需要上传的文件,在上侧红框处记录本次的修改记录,后续会根据这个修建进行历史版本的查询

 

提交完成后,可去该网站上,看是否提交成功  网站上的内容也可以直接下载下来

​网站联系IT,个人的话在SVN官方那里

2.4--网站信息

 

 2.5--SVN更新

 当你的文件需要提交时,在这之前需要进行更新,以防止造成冲突,覆盖了他人的修改文件

 2.6--修改文件

打开“interface.c”文件,在36行处添加如下代码“H2sys_1ms_step;

 将该文件保存后,与该文件关联的文件夹的√都变成了感叹号

 可以右击空白处进行提交,双击红框处,可以看到当前版本和上一版本的差异,确认改动是否正确

 写好日志记录后确定提交,提交完成后,版本会更新,文件夹状态会同步,网站上提交记录会同步更新

 

 

 2.7--查看日志

 

 

 双击红框处,可查看当前版本与上一版本的差异,当该文件有多次迭代时,在日志处可以查看任意版本与上一版本的差异

03--SVN的撤销与恢复功能

3.1--撤销本地内容修改

还是以“interface.c”为例,我们在36行处增加一些错误信息

 修改完成后,对该文件进行了保存,文件夹状态如下侧,此时我们发现文件内容改错了,需要撤销(此时还未提交)

按照下图方式找到“SVN还原”,或者打开“提交”选项,选择被修改的文件,双击确认是否真的是错误文件,确认后右击被修改的文件,选择“SVN还原”

选择“还原”后,之前的改动消失且文件夹状态正常

 

 

 

 3.2--撤销提交内容修改

将下图的修改完成后,写好日志提交到服务器。

 ​​​​​​​

 查看日志,右击当前版本,找到选项“复原此版本做出的修改”

 

 此时文件夹又会变成感叹号,我们选择“提交”选项,点击文件对比差异,发现错误的信息已经被删除了,这一步也写好日志并确定提交

 ​​​​​​​

 

 3.3--恢复到历史任意版本

 查看日志,我们发现现在有了4个版本,突然发现后面的版本有问题,想恢复到初始版本30

 选择版本30并右键选择“复原到此版本”

 再打开“interface.c”文件,发现已经回到指定的版本,做好日志记录后,继续提交

查看日志

04--SVN的忽略和冲突功能

4.1--忽略功能

添加一个文件夹,添加一个interface.c文件,提交

 

 提交与服务器同步后,发现文件重复,想要忽略掉

 按照图示进行文件忽略,忽略后需要再次进行提交并做好日志记录

 

 ​​​​​​​

 忽略功能成功应用后,该文件夹将不会显示任何状态,该功能也适用于单个文件,也可以在提交时选上文件进行忽略,当你不想忽略时,也可按原来的方法从忽略列表内进行删除

 

4.2--冲突解决

 一旦发现在更新的过程中,有冲突,可以直接右键选择他们或者我们的文本进行解决,也可以点击“编辑”查看具体的冲突

​​​​​​​

05--SVN的分支功能

5.1--创立分支

在测试文件夹内创建3个文件夹,分别为主干trunk、分支branches、标签tags,并且把TEST内的文件挪进trunk文件夹内。提交并记录日志后确定。

 Trunk主干相当于一个基础平台软件,当开发完善以后需要搭配不同的项目时,可以开通branches分支功能,进行不同项目的软件迭代管理

 

 上述路径选择到branches分支,并新建一个项目文件夹ProjectA,记录日志,选择“版本库中最新版本”,确定后点击“SVN更新”

 

 

 此时主干和分支相互独立,不会有影响,现在更改以下主干内的文件,看是否对分支有影响

将主干trunk内的interface.c文件第3640改为55,提交并记录日志

 打开branches内的ProjectA内“interface.c”文件,发现没被改动

5.2--合并分支

 有时候主干的改动是平台化的,项目层面也需要改动,或者项目上的bug找到了跟其他项目都有关系,平台也需要同步更改,这时需要用到“合并分支”功能,例如把刚刚平台的trunk中代码的改动合并到branches中的ProjectA中的代码文件。

 首先右击trunk文件夹,“显示日志”,找到想要合并的版本(1个或多个)

 选择合并到的文件夹“branches”

 

 那么文件夹“branches”会变感叹号,但是里面ProjectA文件夹内代码并没有被改动,仍然为40,这是因为trunk中没有ProjectA这个文件夹,我们在trunk中同样建立该文件夹,提交后再次运行,发现分支中的代码被改变了

提交时可以利用“最近信息”进行日志填写

 

 再创建一个分支

 

 branches内找到ProjectA,右击找到切换,到ProjectB,也可以直接SVN更新,这样AB就都有了

 

5.3--下载任意文件

 可通过库浏览器下载任一版本的软件或工程文件

 比如当前版本是45,想下载版本39,导出即可

06--软件版本管理方法

6.1--管理方法

Ø 管理方法

基于现有的软件开发模式及模型结构,在SVN服务器端建立相应的文件结构,开发人员按照一定的操作步骤,提交软件变更至服务器,并在提交时按照既定的规则填写相关注释信息(版本信息,变更内容等),最终结合注释信息及SVN自带的版本号进行软件版本迭代管理。

Ø 文件夹结构

Trunk:软件主干,进行平台化的软件管理

Branches:项目分支,基于项目的需求进行相关模块的变更管理(应用于不同的客户)

Tags:标签,用于软件发布管理(一般用于正式软件的发布,包括客户软件和内部软件不包含临时的测试软件)

Ø 文件内容

文件夹包含完整的工程文件,下载后可以直接进行代码生成和编译

Ø 成员及权限

服务器管理人员:负责成员管理及权限配置

平台开发人员:trunkbranches文件夹的读写权限,负责平台相关模块变更(比如底层和通讯层,变更后同步到对应的branches层)

项目开发人员:branches目录下对应项目文件夹的读写权限

其他人员:相关文件目录的只读权限

6.2--版本分支

07--总结

基于SVN的软件版本管理

1.应用SVN可以实现软件版本迭代管理

2.SVN的版本分支图可以清晰展示软件迭代历史

3.应用SVN的日志功能可以清晰记录变更原因及内容

4.软件可以恢复到历史节点状态,可以在任意节点发布软件

难点:

1.SVN对非文本文件无法进行对比,所以软件开发人员需要确保提交的模型与预期变更一致。

2.SVN自带版本号是基于版本库根目录迭代,体现在一个项目上版本号不连续,所以开发人员提交变更时需填写日志信息,手动注释版本号及变更记录

3.SVN能够撤销和回退到任意版本,但每一步操作都会留下记录,为方便版本追溯,需尽量确保每一步操作正确,减少错误记录。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值