SVN 简单操作

来源:互联网 发布:电脑优化软件付费 编辑:程序博客网 时间:2024/06/08 04:21

Subversion使用指南

目录

前言 1
一、SVN名词解释 2
二、SVN准备 2
三、SVN项目目录结构 3
四、SVN实例操作 5
五、android 工程目录规范 9
六、SVN使用制度 10

前言
1、为团队提供了所有项目文档的回退按钮;
2、支持多个开发人员在可控的方式下为相同代码开发;
3、版本控制系统提示项目文档的各个改动,便于查找是谁,在何时,因为什么修改了项目;
4、支持在文档的主线上同时有多个版本;
5、支持查询在某个时点上项目各个文档的状态,可用于研究生产效率等以及用于对以前的软件发行版的再发行
认识SVN及如何使用
一、SVN名词解释
SVN是Subversion的简称,即开源代码版本控制系统。许多人会把版本控制系统想象成某种“时光机器”。其管理着随时间改变的档案,这些档案放置在一个中央档案库(repository)中,这个档案库像一个寻常的档案服务器,不过它会记住每一次档案的变动,这样就可以方便的把档案恢复到某个版本或者浏览档案的变动历程,目前主流的版本控制系统主要分为两大类:GIT与SVN。

二、SVN准备
2.1 准备SVN的客户端
取得Subversion最简单的方式就是下载适合你的操作系统的svn版本(操作系统是64为的就装64的,32位就装32的)下载地址:https://tortoisesvn.net/downloads.html

2.2 eclipse的SVN插件
Eclipse的help命令栏中选择install new software弹出一个对话框(如图一)点击add并输入插件名和地址(http://subclipse.tigris.org/update1.12x)(如图二)按下ok键会出来标红的选项,select All 全选,自动下载安装
这里写图片描述

(图1)

这里写图片描述
(图2)

三、SVN项目目录结构
例:Svn_test \
|–branches
|–svn_test_0_1_0_auth
|–svn_test_0_1_0_menu
|–tags
|–svn_test_0_1_0
|–svn_test_0_1_1
|–trunk
|–src……
3.1 目录结构说明
3.1.1 branches
分支代码,开发人员检出地址,并在此文件夹下创建自己的分支项目;
3.1.2 tags
版本标记,测试通过后上线的版本记录;
3.1.3 trunk
放置项目基础版本,开发人员会在trunk进行检出和提交,合并项目;
3.2 常用操作说明
3.2.1 checkout
取得一个工作副本,它只是为建立一个计划的私有副本,checkout出的内容受版本控制,而export出的内容不受版本控制;
3.2.2 commit与checkin
如果已经对项目做出了改动,并且要让其他人知道,就要使用commit命令,每一次commit都会让项目进入新的状态,称为修订版本,每个修订版本都会被赋予一个唯一的比前一个修订版本号大一的自然数;
由于commit命令比较常用,我们可以在eclipse下设置快捷键操作(如图3):
这里写图片描述
(图3)
继续设置(如图4):
这里写图片描述
(图4)
到了这一步就已经全部设置完成了,赶快去自己操作下吧!

3.2.3 update
Update命令表示SVN更新了你的工作复本内容,也就是说既使其他开发人员正在做改动,亦可以使用update将你的工作复本的版本同步至档案库的最新修订版;

3.2.4 branches/tags
进行分支标记可以把切换一起完成,不需要再重新打开svn菜单并进行切换,如图5所示,选择分支/标记,在弹出框中勾选项切换工作复本就可以;
这里写图片描述
这里写图片描述
(图5)
3.2.5 switch
利用switch命令将工作复本的路径切换到一个分支下;

3.2.6 editcomfict
调用TortoiseMerge或者外部三楼差异/合并工具擦看棘手的冲突,挑选出冲突行;
如两个开发人员对一个项目下同一个资源文件进行修改,就会出现版本冲突,其解决方案:
1、决定用自己的版本(需要和别人商量);
2、恢复基础版本;
3、合力写一个互相都认可的通用版本
4、自己放弃决定用别人的

3.2.7 clean
由于一些操作中断更新,如磁盘空间不够,用户取消,可能会造成本地文件被锁定的情况。可以使用clean 清洁;

3.2.8 break
如果你需要的文件或者项目被别人锁住,选中锁住的文件或项目,点击右键[break lock(破除锁定)]就可以解锁修改文件;
203

四、SVN实例操作
4.1 冲突处理案例
当多个开发人员对同一项目下的同一文件进行修改提交时,引发冲突问题,后提交的开发人员就会出现下面问题如(图6),然后进行更新如(图7):
这里写图片描述
(图6)
这里写图片描述
(图7)

解决冲突方法:
1、放弃自己的编辑,改用他人的版本操作(图8);放弃之后需要标记冲突已解决(图9):
这里写图片描述

(图8)
这里写图片描述
(图9)

2、恢复之前版本(见图)
3、使用自己的版本
4、合并之后的版本
解决冲突快捷方式:
当有冲突时进行更新过后会出来如下图中所示的3个文件只需要删除3个你不需要的版本,然后选择你想用的版本并且改下名字(与主干中的文件名相同)再次提交即可;如(图10):
这里写图片描述
(图10)
4.2 项目实例操作
第一步:创建主干项目(管理者),Trunk就是主干项目;如(图11):
这里写图片描述
(图11)

第二步:迁出项目;在eclipse下进行checkout(需要在SVN插件安装好的环境下)进行检出(图12):
这里写图片描述
(图12)
第三步:分支处理;右击检出的项目,选择team进入到分支/标记下在branches下创建工作复本路径(图13):
这里写图片描述
(图13)
第四步:做开发环境切换,切换到branches;当分支路径创建完成,做工作复本路径切换,右击检出的项目,选择team进入到切换至分支/标记,点击浏览选择在分支中需要工作的复本,当你的工程目录后有分支的的标记就说明切换成功(图14):

这里写图片描述
这里写图片描述
(图14)
第五步:项目提交;如果已经对项目做出了改动,并且要让其他人知道,或者开发人员负责的模块已经全部完成进行提交。右击项目,选择team,提交命令(图15):
这里写图片描述
(图15)
第六步:分支合并;由项目管理员进行操作(此处暂时无图);
第七步:分支迭代; 4个规则:
    1、版本号从1开始迭代,每次提交使版本号增1;
    2、每个由版本控制的文件有自己的版本历史,其第一个版本号为加入版本库时的版本号;
 3、版本库的版本号 = 目前所有由版本控制的文件版本号的最大值;
 4、版本库的版本号是连续的,文件版本号非连续。
在项目管理员进行分支合并之后再次检出。
五、android 工程目录规范
5.1 独立资源文件名命名规范
每个资源都要标出功能模块以及用途,如(图16):
这里写图片描述
(图16)

5.2 合并资源文件名命名规范
需要加上程序员标识,如(图17):
这里写图片描述
(图17)

5.3 包名规范
5.3.1 ui
在ui包下全都是activity的类,这些类名也需要规范需要把类的功能模块表现出来,如(图18):
这里写图片描述
(图18)
5.3.2 manager
在ui包下全都是业务处理类,这些类名也要规范,需要把类的功能模块表现出来,如(图19):
这里写图片描述
(图19)
5.3.3 powtronic utils
这些都是工具包,基本上用的比较多,而且都是一个个模块封装起来,可以直接调用;
六、SVN使用制度
6.1 签出制度
每天上班先签出工程,以保证每次工作的复本都是无措最新版本

6.2 提交制度
每天下班前需要把项目提交,这样可以保证每天工作进度都会被保存在svn档案库中

+

1 0
原创粉丝点击