SVN使用

 SVN

1.什么是SVN   

SVN: subversion  子级版本  (子级源代码版本控制管理软件)php

svn:全称Subversion,是代码版本管理软件,管理着随时间改变的数据。这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器不过它会记住每一次文件的变更。这样你就能够把档案恢复到旧的版本或是浏览文件的变更历史。 许多人会把版本控制系統想像成某种 “时光机器程序员

使用svn能够很好地协调一个团队共同开发同一个项目,而不会出现代码冲突、覆盖的状况服务器

上图是多人共同开发同一个项目,内部最大的问题是,在比较短的时间内若是有多人同时开发同一个文件,会形成彼此代码覆盖的状况发生A的代码在最后会把B的代码给覆盖掉,10点之后就只体现A程序员的功能效果。app

SVN其中的做用一个就是避免上述状况发生。svn

2. 使用svn的做用

① 多人开发同一个项目不会出现代码覆盖状况。spa

② 针对一个文件能够建立许多不一样版本,而且能够随时查看不一样版本的内容。3d

③ 公司领导能够经过svn查看每一个人的工做状况版本控制

使用svn服务

1. svn仓库提交第一个程序文件server

 

 

步骤:blog

右键------> SVN---->Add

(本地的.svn对该文件造成管理)

右键------> Commit

(本次的文件提交给svn仓库)

1.1 文件颜色标志

① 蓝色加号:本地的.svn对该文件有造成管理

绿色对号:本地文件、.svn管理的版本文件、仓库文件 三者一致

红色叹号:本地文件    .svn和仓库文件 不一致(用户本身修改了该文件)

黄色叹号:表示该文件正处于冲突状态

2. 多个程序员给仓库提交文件

3. 同时运行多个svn仓库服务

把全部仓库的上级目录当成服务给启动起来。

  • svnserve  -d  -r  d:/svnServer/app/

主机名:svn://localhost  ---------------->app目录

svn://localhost/student---------->student仓库取得联系

svn://localhost/book------------->book仓库取得联系

svn://localhost/shop-------------->shop仓库取得联系

3.1 旧用户更换svn主机名

删除.svn文件,断开与仓库的联系

从新checkout经过svn新主机名创建与仓库的联系

 

4. 同一个文件的不一样版本切换

一个程序文件能够在svn仓库里边造成许多不一样版本,并能够随时查看。

总结:

  1. 安装svn的服务器、客户端软件
  2. 建立仓库(根据不一样的项目建立对应的仓库)

> svnadmin  create  仓库地址

  1. 使用svn( checkout    update   commit )
  2. 启动svn仓库服务

> svnserve -d -r  仓库地址

冲突解决(重点)

上图两个程序员在短期以内共同开发同一个程序文件(goods.php)

10点之后系统只会体现linken开发的功能(mary开发的功能被linken覆盖)

 

文件覆盖的解决:

① 给每一个文件分配一个“令牌”,谁拿到令牌谁就有权利开发该文件

(同一个程序文件同一个时间点只容许有一我的开发)

② 给每一个文件设置一个版本号码,提交的时候若是服务器的版本等于本地版本号码就容许提交,不然不容许提交(本地号码 小于  服务器版本)

 

冲突:

广义角度的冲突,提交程序文件 本地版本号码 小于 服务器版本号码

狭义角度的冲突,多个程序员对同一个文件同一处代码的修改再共同提交文件的时候回产生冲突。

 

1. 冲突具体形式:

1.1你们修改的代码不在同一处

解决:

执行update操做,把仓库最新的文件更新到本地,并和本地文件作Merge融合操做。

继续提交文件便可。

1.2 你们修改的代码在同一处

不管什么样子的冲突:解决就是经过update把最新的版本更新到本地,文件稍做修改后继续提交。

帐号和权限

1. 设置帐号

2. 给帐号设置权限

2.1 给具体用户设置权限

2.2 给一个别设置权限

2.3 开启只操做某个目录权限

步骤:

① 管理员先把该目录给建立出来并提交给svn仓库

② 外包团队给该 目录提交文件

③ 管理员删除自己建立的目录,执行update更新操做,便可查看外包团队的工做状况

设置开机启动项服务 svnd

sc create svnd binPath= "E:\svnService\server\bin\svnserve.exe -r E:\svnService\app --service" start= auto

 

相关文章
相关标签/搜索