svn的使用流程
一、安装:
1、 服务器端:VisualSVN_Server
2、 客户端:TortoiseSVN
二、使用VisualSVN Server建立版本库
1、 首先打开VisualSVN Server Manager,如图:
2、 可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等.要建立版本库,需要右键单击左边窗口的Repositores,如图:
3、 在弹出的右键菜单中选择Create New Repository或者新建->Repository,进入下一步:
4、 输入版本库名称,勾上Create default structure复选框(推荐这么做).点击OK,版本库就创建好了,版本库中会默认建立trunk,branches,tags三个文件夹,如图:
三、 把项目导入到仓库里
1、 找到你的项目文件夹,在项目文件夹上点击鼠标右键,找到SVN菜单,选择导入,如图:
2、 在弹出的对话框中填上版本库URL,这个URL可以从VisualSVN Server Manager中获取,在你的版本库上单击右键,选择Copy URL to Clipboard,这样就把版本库URL复制到你的剪贴版了.如图:
3、 将复制的版本库URL粘贴上,在URL后面加上trunk子路径.然后在导入信息里面填上导入信息"导入项目到版本库".如图:
4、 点击确定,所选中的项目就会被导入到版本库中.如图:
9、项目导入到版本库以后,不能随便让谁都能够读写版本库,所以需要建立用户组和用户.
四、 建立用户和用户组
项目导入到版本库以后,不能随便让谁都能够读写版本库,所以需要建立用户组和用户.
1、 建立用户
1) 在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create User或者新建->User,如图:
2) 在弹出的对话框中填写User name和Password,然后点击OK,如图:
3) 用相同的方式分别创建用户Develpoer1,Develpoer2,Develpoer3,Test1,Test2,Manger六个用户,分别代表3个开发人员,两个测试人员和一个项目经理,如图:
2、 建立用户组
1) 在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create Group或者新建->Group,如图:
2) 在弹出窗口中填写Group name为Developers,然后点Add按钮,在弹出的窗口中选择三个Developer,加入到这个组,然后点Ok,如图:
3) 用相同的方式创建组Managers,Testers,如图:
3、 给用户组设置权限
1) 在MyRepository上单击右键,选择属性,如图:
2) 在弹出的对话框中,选择Security(权限)选项卡,点击Add按钮,选中Developers,Managers,Testers三个组,然后添加进来,给Developers,Managers权限设置为Read/Write,Tester权限设置为Read Only,如图:
到此,服务端就完成了.
五、 用客户端检出代码
1、 在桌面空白处(项目所在盘符)单击右键,选择SVN检出,在弹出的对话框中填写版本库URL(具体获取方式,上面讲上传项目到版本库的时候讲过),选择检出目录,点击确定.如图:
2、 开始检出项目,如图:
3、 检出完成之后,我们打开工作副本文件夹,会看到所有文件和文件夹都有一个绿色的√.如图:
至此,创建版本库和使用TortoiseSVN导入项目,检出项目已经介绍完毕.
六、 增删改查,获取服务器的所有代码
1、 添加文件
1) 手工添加文件(写代码)
在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图:
2) 加入:
加入以后,你的文件会变成这个状态,如图:
3) 提交:
这时候使用TortoiseSVN进行提交.这样别人就能看到你所做的更改了,如图.
2、 修改文件
1) 手工修改文件(改代码)
使用TortoiseSVN更新,修改工作副本中的Readme.txt文件,加入"hello world!",然后保存,你会发现Readme.txt文件的图标改变了,如图:
这个红色的叹号代表这个文件被修改了。
2) 提交:
使用右键菜单的“svn提交” 功能就可以把修改后的结果传到服务器上,其他人即可看到你的更改.
3、 重命名文件
1) 使用svn修改文件名:
重命名工作副本中的Readme.txt文件为"Readme1.txt',然后保存,你会发现Readme.txt文件的图标改变了,如图:
2) 加入:
跟添加文件一个道理,,如图:
3) 提交:
在空白处点击svn菜单,选择提交
就会看到:
点击“确定”按钮,版本库中的Readme.txt文件将会被重命名为"Readme1.txt".
4、 删除文件
1) 使用svn删除文件
选择svn菜单上删除功能
2) 提交
空白处点右键,找svn提交菜单
,
显示窗口:
点击“确定”按钮
版本库中的相应文件即被删除掉了
5、 日常获取服务器端的最新文件
使用菜单svn更新
6、 查看日志
1) 查看某个文件的更新日志
在文件处点击右键,选择菜单“显示日志”
如下是日志详情:
2) 如需要查看整个项目的日志
在空白处点击右键,选择菜单“显示日志”
七、 注意事项
1、 强制写注释
为了以后你能更清晰的看到你所做的每一次更改的原因,你在每次提交的时候应该写上注释,而且尽量详细.如图:
但是,可能有的人因为觉得太繁琐,而不填写注释,这不利于以后的版本控制,可以将强制在提交的时候写注释,首先单击右键,选择TortoiseSVN->属性,如图:
在弹出的对话框中,点击新建->日志大小,设置提交日志的最小字符数和锁定日志的最小字符数为20,提交文本框中显示边线的字符位置设置为100,点击确定,如图:
提交,以后再次提交的时候,如果输入的注释少于20个字符,将无法提交.
八、 帮助
这个文档只是简单入门使用,需要了解更多的知识,在svn里查看帮助即可,在右键菜单中点击“帮助”按钮。
svn的使用流程的更多相关文章
- 转载-Linux下svn搭建配置流程
Linux下svn搭建配置流程 一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...
- CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)
CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址.服务启动等) 原 一事能狂便少年 发布于 2016/12/27 11:16 字数 1113 阅读 1.3K 收藏 0 ...
- Git x SVN 当前工作流程
git-svn 当前工作流程 @ixenos 2018-12-27 21:37:47 前言:用惯了git,再用svn简直反人类,所以……还是用git-svn过渡一下 (由于远程还没有dev,直接坑爹地 ...
- CentOS Linux搭建独立SVN Server全套流程(转)
环境为centos6.3 1.首先 看看机器上安装了svn了没有 rpm -qa |grep svn 2.如果没有安装 执行 yum -y install subversion 3.安装好了之后 新建 ...
- centos 搭建SVN服务器简单流程
yum -y install subversion mkdir -p /work/svn && cd /work/svn //创建版本库 svnadmin create test -- ...
- 命令行操作svn和git和git
前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...
- 【Java EE 学习 43】【SVN版本控制工具】【CVS版本控制工具】
一.SVN SVN服务器下载地址:https://subversion.apache.org/ 1.什么是版本控制:版本控制是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程.是一种记录若 ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- SVN并行开发管理策略
总的原则:trunk保证相对稳定.分支合并到主干时将冲突降至最低. (1) trunk用于集成.测试.发布,可以提交fixbug代码,但不允许直接提交新特性. (2) 特性在分 ...
随机推荐
- mysql 系列文章推荐
1. mysql日志详细解析 http://www.cnblogs.com/wangkongming/p/3684950.html 2. mysql 主从同步实验 http://pmg ...
- SQL中的几个判断是否存在
库是否存在if exists(select * from master..sysdatabases wherename=N'库名')print 'exists'elseprint 'not exist ...
- Runnable、Callable
Runnable 任务,没有返回值 Callable 任务,又返回值 Runnable与Callable 相同点: 1. 都是接口: 2. 用来编写多线程程序: 3. 都需要调用Thread.star ...
- 《大型网站系统与JAVA中间件实践》读书笔记-数据访问层
数据访问层 5.1.2数据库垂直/水平拆分的困难 随着网站业务的快速发展,数据量和访问量不断上升,数据库的压力越来越大. 更换更好的硬件(Scale Up)是一种解决方案,而且在我们能付得起硬件费用并 ...
- 调用webservices中 枚举类型没有被序列化问题
引用服务后,代理类为自动为所有枚举类型生成了一个Bool类型相关字段,命名方式:比如枚举类名为“PayType”,生成的相关字段为“PayTypeSpecified”,此字段有何作用? PayType ...
- No module named yum
升级python之后,执行yum的时候可能出现错误,类似: There was a problem importing one of the Python modulesrequired to run ...
- 关于setTimeout()你所不知道的地方,详解setTimeout()
关于setTimeout()你所不知道的地方,详解setTimeout() 前言:看了这篇文章,1.注意setTimeout引用的是全部变量还是局部变量了,当直接调用外部函数方法时,实际上函数内部的变 ...
- Linux嵌入式 -- 内核简介(x86)
0. 嵌入式系统 以应用为中心,软硬件可裁剪,对功耗.对体积.对成本等都有严格要求的专用计算机系统. 1. linux体系结构 2. 为什么 划分为 用户空间 和 内核控件 ? 分两级,内核和应用 ...
- scala学习手记16 – scala中的static
前面两节学了scala的对象和伴生对象,这两个在使用的时候很有些java的静态成员的意思. scala中没有静态字段和静态方法.静态成员会破坏scala所支持的完整的面向对象模型.不过可以通过伴生对象 ...
- 关于angularJS的$watch的 一些小用法
$watch方法,它可以帮助我们在每个scope中监视其中的变量. $watch 单一的变量 对于普通的变量时,如数字,字符串等,直接如下写是可以监视到变量的变化,并执行相应的函数的. $scope. ...