版本控制之SVN(SubVersion)

版本控制的作用:

主要内容:1.SVN服务器端与客服端的使用  2.SVN与第三方Eclipse整合

SVN(Subversion) 基本交互流程图:

 

服务端VisualSVN Server  可视SVN 图形化操作的,因为之前的版本为命令操作的

下载地址:https://www.visualsvn.com/server/download/

1.服务端安装步骤:

运行VisualSVN-Server-2.7.3.msi程序, 如下图

 

点击Next, 下一步

选中 I accept选项, 点击Next, 下一步

选择默认配置, 服务和控制台组件方式, 点击Next, 下一步

点击Standard Edition, 安装标准版

红色圈中的部分Location是程序的安装路径.

蓝色圈中的部分Repositories 是存放SVN仓库的路径(注意: 指定一个空的文件夹). 

其他端口和协议使用默认, 点击Next, 下一步

点击Install, 进入安装

Win 7下, 会弹出对话框提示是否安装, 点击”是”, 继续安装

安装完成. 默认勾选 Start VirsualSVN Server Manager 选项, 点击Finish, 完成

连网情况下出现这个界面代表安装完成.  有Service is running代表安装成功 

2.建立资源仓库 上图中的 Repositories就代表资源库 资源库保存的目录就是在安装服务端的时候所指定的路径(蓝色框框)

右击该选项就能创建一个资源库,创建资源库的时候会有个URL地址链接,客服端通过这个链接就能访问该资源库

3.客户端的安装TortoiseSvn(小乌龟)

TortoiseSvn是Subversion版本控制系统的一个免费开源客户端,它完全嵌入windows Explorer,使用时只需要在正常的窗口里右键操作就可以了。

下载地址:https://tortoisesvn.net/downloads.html

安装步骤:

运行TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi程序, 开始安装

点击Next, 下一步

选择 I accept 接受, 点击Next, 下一步

选择安装路径, 点击Next下一步

点击 Install 开始安装

Win 7下会弹出一个对话框, 确认是否安装程序, 选择”是”, 继续安装.

点击Finish完成安装.

点击Yes, 重启电脑, 重启之后右键点击桌面选项菜单中有TortoiseSVN, 就安装成功了.

在桌面空白处右击会多出现下面两个选项:

 checkout就是检出和服务器建立连接的意思:根据服务端仓库的URL获取里面的内容

如果客户端的文件状态是个“?”号,代表需要添加到版本控制中

如果客户端的文件状态是“+”号,需要提交(commit)到服务端

如果文件状态是“打勾”,代表和服务端的是相同的

如果文件状态是“!”号,代表文件改变了需要提交到服务端

如果想从服务器获取数据,右击该文件进行更新就可以了

如果文件状态是“黄色!”号,代表文件发生冲突

SVN与第三方Eclipse整合:

下载SVN插件( http://subclipse.tigris.org )  http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240

我们使用版本eclipse_svn_site-1.6.5.zip解压到一个文件夹中,进入 eclipse 安装目录中 dropins 目录并创建一个 subclipse.link 的文本文件(文件名任意)。内容为:path=  eclipse_svn_site-1.6.5.zip的解压路径(注意:路径中需要把‘\’替换成‘/’)

配置成功后打开eclipse--》window-->preferences-->Team--》可以看到有svn就代表配置成功了

资源库中三个目录的功能:创建资源库的时候会创建这三个文件

/trunk 存放开发的“主线”    用来开发版本

/branches 存放支线副本分支    对发布给用户使用的版本进行bug修复

/tags 存放标签副本  存放发布给用户使用的版本(因为不会直接在该目录下进行修改,所以才有了上面那个文件)

基本操作:

/*
6.服务器基本创建
     1.添加用户或组
     2.创建仓库  1.选择是否创建空仓库  --- 
         2.访问权限  2.1都不能访问  2.2都可以访问  2.3设置权限
     3.和仓库进行关联
          3.1新建空白文件夹
      3.2从仓库复制仓库url地址
      3.3使用svn客户端和svn的仓库关联
    4.svn检出
       右键--svn checkout(检出)--粘贴url --设置检出文件位置(空文件夹) ---检出后会有 .svn影藏文件夹
7.提交文件到仓库(注意文件图标)
    1.创建文件
    2. 右键 --svn commit提交  
    3.输入提交信息
8.修改提交
    1.修改文件
    2.提交 (可以点击文件查看修改的内容)
9.查看历史版本
    1.右键 --- svn ----show log查看日志
10还原版本
    1.右键查看日志
    2.选中需要还原的历史版本(还原前请更新)
    3.右键 ---revert to this revison
    4.还原后与服务器版本不一样 需要 再次提交
11备份还原仓库
    1.备份  --- 找到仓库文件夹,复制
    2.还原  --- 库 -- 右键 ---所有任务 -- import existing repository  -- 选择路径 
      注意: 使用别人的仓库,他的用户名是固定的 (可能无法使用)
           右键 --- 所有任务 ---manager security -- 添加用户
    3.新建文件夹 检出文件
12常用图标介绍 
    1.绿色的对勾:新检出的工作复本
    2.蓝色问号:表示是你个人的本地文件,不是svn上的
    3.红色感叹号: 已经修改的文件,还未提交
    4.黄色感叹号:文件冲突
    
13 代码冲突
    原因: 在不是最新版本的代码上进行了修改,并提交   
    解决: 
    1.右键 -- update  黄色感叹号就是文件出现了冲突
    2.解决 
          冲突文件--右键 -svn -- editconficts --
      --编辑冲突代码
     --- 将文件标记为冲突解决
     -----提交代码
14提交代码的原则
    1. 先更新,再提交 

    2.多提交 

    3.不要提交不能通过编译的代码 

    4.每次提交必须书写明晰的标注 

    5.提交时注意不要提交本地自动生成的文件 

    6.不要提交自己不明白的代码 

    7.慎用锁定功能


15创建带三个分支的仓库
   右键 -- 创建分支库   
    truch: 主分支 开发主线
    tags :发布版本
    breachs: 修复bug

    发布版本案例:
    1.在truch上进行开发
    2.发布
      svn ---rebo browser --选择truch分支 右键--copy to --把truch路径改为 tag/v1.0(表示要发布的第一个版本)
*/

 常见错误------不同行的冲突 

同行冲突的错误提示,更新后提示如下

 

 

 

 

常见错误------同行的冲突 

 

解决冲突 右击-TortoiseSVN-Edit conflicts 编辑冲突

 

全部为绿色就代表修改好了,保存退出就行,这时候生成的文件也就自动没了,最后标记为解决了冲突:右击冲突的文件-->TortoiseSVN-->Resolved...  弹出提示框,选择解决的冲突文件就行

查看日志,查看修改人,已经修改了什么内容:

有时候自己的文件做不下去了,想恢复到几个月之前的内容,就可以这样做(因为服务器保留了之前的版本,自己去拿就是),当然你可以再提交

 

在eclipse中修改冲突:   图中为 team

 使用eclipse提交工程不需要提交的文件:   .classpath     .project   bin目录   gen目录    因为这些都是eclipse自动生成的文件

 关于studio中关联SVN与基本操作见:http://www.cnblogs.com/boonya/p/5105770.html

 

只安装客服端: 需注意,需安装 command line功能。(然后在bin目录才会有svn.exe文件)

svn小乌龟 汉化语言包下载:

svn下载:https://tortoisesvn.net/downloads.html   网址下有汉化语言包

 忽略文件:一般需要忽略.idea文件夹、.gradle文件夹、所有的build文件夹、所有的.iml文件及local.properties文件。

 

在Studio中的基本使用如下:

1.AndroidStudio浏览SVN服务器上的项目文件夹:

步骤:Vcs–>Browse VS Repository–>Browse Subversion Repository.

2. 创建分支与tag,在Project视图下,项目右键,SubVersion–Branch or Tag…   一般会选择远程地址(不选择本地项目路径)

下图意思:将本地的代码复制一份出来 并创建一个分支

2.切换本地工作路径(比如将truch:主分支 开发主线   切换到    tags :发布版本 或者  切换到  breachs: 修复bug)

2.1在studio中操作切换分支:

可参考:http://www.cnblogs.com/Zachary46/p/9366981.html

3.分支的合并,比如将breachs合并到truch  (可按照上图拿地址)

在Project视图下,项目右键,SubVersion->Compare With branch…比较合并代码

 

可参考: android studio中创建、切换svn分支

4.由于新添加的module或者文件,还没有添加忽略,需要导入项目后再添加,那就只能添加后再取消添加与配置忽略文件了:

 

posted @ 2016-06-17 13:52  ts-android  阅读(560)  评论(0编辑  收藏  举报