源代码管理工具SVN是一款非常强大的源代码管理工具,现在国内70%-90%的公司都在使用SVN来管理源代码,下面就让小编给大家着重介绍一下SVN的使用,SVN的使用主要分为下面几块。

  • SVN的使用环境
  • 服务器端的配置
  • 客户端软件的使用
  • 客户端图形界面工具的使用
  • SVN的目录规范及使用实例

1.SVN的使用环境。

要想使用SVN管理源代码,必须得有两套环境

  • 服务器端
  1. 可以用于存储客户端上传的源代码
  2. 可以在Windows上安装Visual SVN Server
  3. 大部分情况下,公司的开发人员不必亲自搭建SVN服务器,基本上你进入公司之后公司会把SVN服务器的地址和你的用户名和密码告诉你的,当然他要是对你不放心的话,可能会考察你几天,然后才决定是否给你。
  • 客户端
  1. 上传本地的源代码到服务器,或者更新服务器的代码到本地,保持同步
  2. 可以在Mac上使用命令行、Versions、Cornerstone-图形化操作软件、Xcode
  3. 开发人员就属于客户端这个角色

2.服务器端的配置

  服务器端在window电脑上安装Visual SVN Server- 下载地址http://www.visualsvn.com/server/download/

  • 安装Visual SVN Server
  • 创建代码仓库
  1. 点击左侧第一个黄色文件夹,然后点击新建,输入名字,下一步,这样就创建好了一个空的仓库。
  • 添加用户
  1. 点击左侧第二个黄色文件夹,点击右键,新建用户,然后设置用户名和密码。设置完之后点击OK提交。
  • 设置权限
  1. 点击你建立的仓库,右键点击,选择properties选项。
  2. 点击properties之后会出来一个界面,选中你刚才创建的用户,然后点击ADD。
  • 访问仓库地址。
  1. 选中你建立的仓库,然后右键点击copy URL,点击之后在我们的剪贴板就可以得到仓库的URL了,
  2. 打开你电脑的浏览器 ,输入刚才得到的URL,然后需要输入用户名和密码,输入之后就可以进入仓库了。

3.SVN客户端的配置

  • 在终端中输入

    svn checkout  https://192.168.1.106/svn/Weibo/ /Users/Documents/workspace

    https://192.168.1.106代表的是:代码仓库的远程地址-这个地址就是你刚才那个电脑的IP地址

    /svn/Weibo/ /Users/Documents/workspace代表的是:将代码下载到本地的哪个路径

  • SVN客户端命令
  1. svn info :查看文件的详细信息
  2. svn diff :查看不同版本的区别
  3. svn log :查看日志信息
  4. svn list :列出版本库下的文件和目录列表
  5. svn status :查看文件状态(简写svn st)
  6. svn help :获取帮助信息(比如svn help ci)
  7. svn lock :加锁
  8. svn unlock :解锁
  • 提交
  1. svn commit  -m "注释"  [PATH]
  • 添加
  1. 提交一个新建的文件到服务器,需要2个步骤
  2. 添加新建的文件到本地的版本控制库中:svn add
  3. 提交刚才的添加操作到服务器:svn commit
  4. 如果直接提交一个没有添加到本地版本控制库中的文件,会报下面的错误

    lis not a working copy
  • 删除
  1. 删除服务器上的某个文件,需要做2个步骤
  2. 将文件从本地的版本控制库中移除:svn delete 、svn remove
  3. 提交刚才的删除操作到服务器:svn commit
  4. 将文件从本地的版本控制库中移除 svn delete PATH
  • 更新
  1. 将服务器的最新代码更新到本地 svn update [PATH]
    示例

    svn update [所要更新的文件路径]

    n将文件恢复至某个版本
    svn update -r 版本号 [PATH]

4.图形界面工具

  • 在Mac上,也可以利用SVN图形界面工具来管理源代码,可以大大减小使用命令行的痛苦(有些操作使用命令行会比较繁琐,比如解决冲突)Cornerstone / Versions / Xcode大部分工作在Xcode中都可以完成
  • Xcode对SVN的支持并不是非常友好,尤其新建文件夹时,在Xcode中非常容易出问题
  • 使用Xcode工作:先更新,再提交!
  • Xcode中,最好不要多人同时修改一个Storyboard!
  • MAC里下载Cornerstone添加管理仓库

5.目录规范

  • 正规项目的SVN目录结构一般有3个文件夹
  • trunk:主干,当前开发项目的主目录
  • branches:分支目录,添加非主线功能时使用,开发测试之后,可以合并到主干项目中
  • tags:标记目录,通常作为重大版本的备份

6.常见问题总结

  • 去到公司的第一天,下载公司的代码到电脑上 svn checkout
  • 修改了某个早已存在的旧文件,然后提交到服务器 svn commit
  • 提交一个自己新建的文件到服务器
  • svn add à svn commit
  • 删除一个早已存在的旧文件,然后同步到服务器上 svn delete à  svn commit
  • 将其他同事提交的新代码更新到自己电脑上 svn update
  • 不小心写错了很多东西,想撤销所写的东西(还未把修改提交到服务器) svn revert
  • 不小心删错了文件,想把文件恢复回来(还未把删除提交到服务器) svn revert
  • 不小心写错了很多东西,想撤销所写的东西(已经把修改提交到服务器)svn update -r 版本号
  • 不小心删错了文件,想把文件恢复回来(已经把删除提交到服务器)svn update -r 版本号
  • svn这个隐藏目录记录着非常关键的信息 千万不要手工修改或删除这个 .svn隐藏目录和里面的文件! 否则将会导致本地的工作副本被破坏,无法再进行操作

7.使用SVN我们应该

  1. 经常更新:降低冲突的可能性
  2. 提交前需在本机测试通过:降低将问题代码传到版本库
  3. 提交时一定写备注(注释):方便其他员工查看和自己以后回顾
  4. 对于不需要提交的文件不要提交到版本库
  5. 每次修改之前最好先更新
  6. 每天下班前提交当天运行通过的代码
  7. 每天上班第一件事情更新前一天的代码

源代码管理工具之SVN的更多相关文章

  1. iOS 源代码管理工具之SVN

    源代码管理工具之SVN 源代码管理工具SVN是一款非常强大的源代码管理工具,现在国内70%-90%的公司都在使用SVN来管理源代码,下面就让小编给大家着重介绍一下SVN的使用,SVN的使用主要分为下面 ...

  2. 源代码管理工具(1)——SVN(1)——SVN 的使用新手指南,具体到步骤详细介绍----TortoiseSVN

    一.客户端的使用: TortoiseSVN(下载地址:https://pan.baidu.com/s/14cAEV5ZfMA9mLlQAb4oznw 这里有包含中文版的语言包). 1.先下载安装(这个 ...

  3. 源代码管理工具(2)——SVN(2)——第一次用SVN遇到的问题

    今天因为项目的需要第一次使用了svn来托管项目,第一使用svn遇到了几个问题. 这个安装的过程很简单,不再赘述.在安装完成之后,相信肯定有一部分第一次用这个的人直接到开始处打开这个软件,这时候就会弹出 ...

  4. 源代码管理工具(下)-SVN目录结构

    内容中包含 base64string 图片造成字符过多,拒绝显示

  5. iOS源代码管理工具

    源代码管理工具简介 1.为什么会出现源代码管理工具? 为了解决在软件开发过程中,由源代码引发的各种蛋疼.繁琐的问题 2.源代码管理不当可能会引起的后果? 无法后悔:做错了一个操作后,不能回到之前的操作 ...

  6. 源代码管理工具(上)-SVN基本使用

    ------------------------------------------------------SVN简介和搭建 ------------------------------------- ...

  7. iOS核心笔记—源代码管理工具-SVN

    源代码管理工具-SVN 一. 源代码管理工具概述 1. 源代码管理工具的作用? > 能追踪一个项目从诞生一直到定案的过程 > 记录一个项目的所有内容变化,无限制返回 > 查看特定版本 ...

  8. IOS SVN源代码管理工具使用

    01.    源代码管理工具概述(PPT)===================================================* 源代码管理工具的作用:# 能追踪一个项目从诞生一直到 ...

  9. 源代码管理工具SVN

    1.源代码管理工具概述 2_SVN常用指令.hm Checkout把整个项目所有的源代码从服务器下载到本地 Update:将服务器上的代码更新到本地(只会更新被修改的文件) Commit:将本地的修改 ...

随机推荐

  1. C语言之链表

    这两天在复习C语言的知识,为了给下个阶段学习OC做准备,以下的代码的编译运行环境是Xcode5.0版本,写篇博文把昨天复习的C语言有关链表的知识给大家分享一下,以下是小菜自己总结的内容,代码也是按照自 ...

  2. 项目安排(离散化+DP)

    题目来源:网易有道2013年校园招聘面试二面试题 题目描述: 小明每天都在开源社区上做项目,假设每天他都有很多项目可以选,其中每个项目都有一个开始时间和截止时间,假设做完每个项目后,拿到报酬都是不同的 ...

  3. YII 的源码分析(三)

    前面已经看完了启动一个yii程序所要经过的流程,以及渲染一个页面是怎么完成的.今天要分析的是yii是如何处理用户请求的.也就是控制和动作部分. 还是以helloworld为例演示这一过程.我们在地址栏 ...

  4. C算法编程题(六)串的处理

    前言 上一篇<C算法编程题(五)“E”的变换> 连续写了几篇有关图形输出的编程题,今天说下有关字符串的处理. 程序描述 在实际的开发工作中,对字符串的处理是最常见的编程任务.本题目即是要求 ...

  5. php后管理分类导航菜单

    <!DOCTYPE> <html> <head> <meta http-equiv="Content-type" content=&quo ...

  6. SQL SERVER 通用分页存储过程,两种用法任你选

    写在前面 从SQLSERVER 2005开始,提供了Row_Number()函数,利用函数生成的Index来处理分页,按照正常的逻辑思维都是传pageIndex和pageSize来完成分页,昨天前端和 ...

  7. windows8.1 安装Redis

    说点什么 现在互联网都在玩高大上的分布式缓存,或是分布式数据库,去面试的时候也会问些相关知识及应用场景,再没玩过就要out了.  Redis官方只提供了Linux的版本下载,windows的需要去gi ...

  8. CSS魔法堂:重拾Border之——不仅仅是圆角

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...

  9. [Q&A] 远程过程调用失败。[0x800706be]

    由于先安装 SQL Server R2,后又安装 Visual Studio,导致 VS 中的 SQL Sever 版本和 SQL Server R2 版本冲突造成实例出错 打开"开始&qu ...

  10. .NET多线程总结和实例介绍

    摘要:.Net提供了许多多线程编程工具,可能是因为太多了,所以掌握起来总是有一些头疼,我在这里讲讲我总结的一些多线程编程的经验,希望对大家有帮助. 1.多线程的总结 不需要传递参数,也不需要返回参数 ...