iOS开发基础49-SVN介绍二

1. 源代码管理工具概述

源代码管理工具的作用

源代码管理工具是软件开发过程中不可或缺的组件,具有以下几个重要作用:

  1. 版本追踪:能追踪一个项目从诞生到定案的全过程。
  2. 变更记录:记录项目所有内容的变化,方便以后查阅和审计。
  3. 协作开发:在团队开发中,确保每个成员的更改都能被追踪和管理,避免代码冲突。

使用源代码管理工具的必要性

  • 团队开发:在团队开发中,使用源代码管理工具是强制性的,确保团队成员彼此协作、版本一致。
  • 单人开发:即便是单人开发,也强烈建议使用源代码管理工具,便于版本回退和历史查看。

使用简单且高效

  • 低成本:使用简单,几乎不会增加开发负担,但能带来显著的方便性和安全性。
  • 无害:对现有工作没有任何负面影响。
  • 专业要求:是合格的软件开发人员必须掌握的技术。

2. SVN 介绍

SVN 基本概念

SVN 是一种集中式源代码管理工具,包含以下几个核心概念:

  1. Repository:代码仓库,用于保存所有版本的代码。
  2. Server:服务器,存储所有的代码仓库。
  3. Client:客户端,保存当前用户工作目录的副本。
  4. 用户名和密码:访问代码仓库需要通过用户名和密码来区分不同用户进行的修改。

SVN 常见操作

  1. checkout:将服务器上的代码仓库检出到本地。
  2. update:从服务器上下载其他用户的修改,更新到本地。
  3. commit:将本地修改提交到服务器上的代码仓库。

3. SVN 服务器安装 - Visual SVN Server

Visual SVN Server 的特点

  • 操作系统:运行在 Windows 操作系统上,集成了 Subversion 和 Apache。
  • 安装便捷:提供简单易用的图形化界面,安装和配置非常方便。
  • 下载地址Visual SVN Server

安装步骤

  1. 安装程序目录与代码仓库目录
    • 设置程序及代码仓库的安装目录。
  2. 添加代码仓库
    • 创建一个新的代码仓库,例如 weibo
  3. 配置用户
    • 添加用户和设定密码,例如 manager、zhangsan、lisi。
  4. 群组和权限设置
    • 创建用户群组并分配代码仓库的访问权限。
  5. 协议选择
    • HTTP 或 HTTPS 协议,以便安全访问代码仓库。

使用浏览器访问代码仓库

可以通过浏览器访问代码仓库,如果使用 HTTPS 协议,浏览器会显示 SSL 证书的验证信息。

4. SVN 操作指南

显示隐藏文件夹

  • 显示隐藏文件:
    $ defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder
    
  • 不显示隐藏文件:
    $ defaults write com.apple.finder AppleShowAllFiles No && killall Finder
    

常用命令行准备

熟悉命令行操作可以帮助更好地理解图形工具的使用。常用命令如下:

  • 查看帮助信息
    $ svn help
    $ svn help 子命令
    

UNIX 常用命令

  • cd:改变工作目录。
  • pwd:输出当前工作目录的绝对路径。
  • ls:查看文件。
    $ ls
    $ ls -a
    $ ls -l
    $ ls -la
    
  • touch:创建新文件或更改文件的访问和修改时间。
    $ touch test.txt
    
  • cat:连续查看文件内容。
  • more:分页查看文件内容。

5. 项目搭建和团队成员加入

服务器文件下载到本地

  1. 切换工作目录:
    $ cd 经理的工作目录
    
  2. 检出代码仓库:
    $ svn co http://192.168.1.103/svn/weibo --username=manager --password=manager
    

添加和提交文件

  1. 创建文件
    $ touch main.c
    $ open main.c
    
  2. 提交文件
    $ svn add main.c
    $ svn ci -m "添加了main.c文件"
    

新成员加入

  1. 张三
    $ svn co http://10.0.1.15/svn/weibo --username=zhangsan --password=zhangsan
    
  2. 李四
    $ svn co http://10.0.1.15/svn/weibo --username=lisi --password=lisi
    

添加和删除文件

  • 添加文件
    $ touch Person.h Person.m
    $ open Person.h
    $ open Person.m
    $ svn add Person.*
    $ svn ci -m "添加了Person类"
    
  • 删除文件
    $ svn rm Person.h
    $ svn ci -m "删除了文件"
    

撤销和恢复修改

  • 撤销修改
    $ svn revert Person.m
    
  • 恢复到之前的某个版本
    $ svn update -r 5
    $ svn up
    

解决冲突

冲突解决选项:

  • p:对比冲突。
  • mc:使用我的版本。
  • tc:使用对方的版本。

6. 文件的状态

使用 svn st 显示文件状态,其中包括:

  • ' ':没有修改。
  • 'A':被添加到本地代码库。
  • 'C':冲突。
  • 'D':被删除。
  • 'I':被忽略。
  • 'M':被修改。
  • 'R':被替换。
  • 'X':外部定义创建的版本目录。
  • '?':文件没有被添加到本地版本库内。
  • '!':文件丢失或者不完整。
  • '~':受控文件被其他文件阻隔。

7. 使用图形化界面

安装 CornerStone

CornerStone 是一个强大的 SVN 图形客户端,安装后可以对 SVN 进行图形化操作。

操作步骤

  1. 添加远程代码仓库。
  2. 导出代码库到本地。
  3. 在本地目录下使用 Xcode 新建项目。
    • 注意:不要勾选 Git,两套源代码管理同时存在会发生冲突。
  4. 提交到代码仓库。
  5. 其他用户操作。

忽略不需要上传的文件

可以在 SVN 设置中忽略指定不需要上传到版本库的文件类型或目录。

目录规范

  • Trunk:当前开发的主要分支。
  • Tags:存放已上线的重大版本。
  • Branches:用于重大 bug 修复或新需求开发。

通过上述内容,开发者能更好地理解和应用 SVN 进行高效的源代码管理,提升团队合作效率和项目管理质量。### 目录规范

  • Trunk:当前开发的主要分支。
  • Tags:存放已上线的重大版本。
  • Branches:用于重大bug修复或新需求开发。
posted @ 2015-08-30 15:02  Mr.陳  阅读(269)  评论(0编辑  收藏  举报