SVN的详细使用说明

1、数据仓库: 5

2、客户端 6

二、界面操作 7

2Add 8

3Commit 9

5、双方同时提交,或产生冲突 11

6、通过来查看svn服务器上的内容 15

7、导入文件到svn 16

8、恢复到指定版本或时间点:message是关键信息 16

9、通过导出功能,导出纯净的项目(不带.svn文件) 18

10、权限控制 18

三、SVNEclipse整合 19

四、SVNApache整合 23

前言:没有版本控制

*代码管理混乱

*备份多个版本,占用磁盘空间大

*解决代码冲突困难

*容易引发BUG

*难于追溯问题代码的修改人和修改时间

*难于恢复至以前正确版本

*无法进行权限控制

*项目版本发布困难

一、基本操作:

*确认安装是否成功:svnadmin --version

* 创建svn数据仓库:svnadmin create D:\repository\SVN\testsvn

* 启动svn服务:svnserve -d -r D:\repository\SVN\testsvn [单仓库启动]-d 后台执行 -r 版本库的根目录 


               svnserve -d -r D:\repository\SVN [多仓库启动]建议使用

* 验证svn启动是否成功:使用netstat -an 查看3690端口是否被占用

* 客户端检出代码:svn checkout svn://ip:port/repName . 

例子:[单仓库取出]E:\client\zhangsan>svn checkout svn://192.168.1.36 .

* 将本地文件纳入版本控制:svn add fileName

* 提交文件到svn服务器:svn commit -m "message" fileName

1、将svnserve.conf中的# anon-access = read改为anon-access = write

2、

3、Lisi进行checkout并更新后

* 客户端更新文件到本地:svn update [fileName]

* 恢复文件:svn revert fileName    注意:只能恢复未提交的操作

* 删除文件:svn delete fileName

* 将svn服务注册为windows系统服务:sc create SVN-Service binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r D:\repository\SVN" displayname= "SVN-Service" start= auto depend= Tcpip

1、数据仓库:

2、客户端

3svn服务器启动

*cmd命令行启动

svnserve -d 文档仓库路径

-d 后台执行 

-r 版本库的根目录 

*Windows服务自动启动

D:\Program Files\Subversion\bin(SVN服务器端安装目录)文件夹下新建svnSetup.bat,内容为

sc
create SVN-Service binpath= "D:\Program Files\Subversion\bin\svnserve.exe
--service -r E:\repository\SVN" depend= Tcpip start= auto

sc start
svnserve

pause

其中: binpathSVN服务器端目录; d:\MySVNSVN库目录

运行(或以管理员身份运行),会新创建一个服务名为:svnserver,可通过运行services.msc查看,将其设置自动运行(有时候需要重启电脑

sc create SVN-Service binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r E:\repository\SVN" displayname= "SVN-Service" start= auto depend= Tcpip

4svn常用命令

svn checkout -从版本库取出一个工作拷贝 

svn commit -将改动的文件提交到版本库

svn update -更新你的工作拷贝 

svn add-向版本库中添加新文件

svn delete-从版本库中删除文件

svn revert-取消所有的本地编辑 

svn info-显示本地或远程条目的信息 

svn list-列出版本库目录的条目 

svn status-查看当前工作区状态

svn help-获取帮助信息

二、界面操作

Subversion目录规范

/trunk 存放开发的“主线”

/branches 存放支线副本(不确定的副线(功能))

/tags 存放标签副本(记录不同的版本(状态))

1Checkout:注意:如果输入的是IP地址要在插网线和不能禁用网卡,本地IP地址或localhost则不用

2Add

3Commit

4、给用户配置权限和密码

*配置svnserve.conf文件

*配置password文件

*配置authz文件

5、双方同时提交,或产生冲突

出现如下文件和图标

*解决方法:Edit conflicts编辑冲突

最后点击Resolved即可

*避免方法,need-lock机制

need-locktrue时,一个时间只能有一个人操作该文件

注意:在修改一个文件之前,先要确定该文件时最新,否则会出错

释放锁的两种方法:*提交,失去锁

      *主动释放锁

*文件加锁

*获取锁

6、通过来查看svn服务器上的内容

7、导入文件到svn

8、恢复到指定版本或时间点:message是关键信息

Show longing

9、通过导出功能,导出纯净的项目(不带.svn文件)

10、权限控制

需求:zhangsanoa项目trunk有读写权限,lisi只有读的权限

          lisioa项目branches有读写权限,zhangsan只有读的权限

配置zuthz文件

11注意:.svn这个隐藏目录记录着两项关键的信息工作文件的基准版本和一个本地副本最后更新的时间戳。

千万不要手工修改或删除这个 .svn隐藏目录和里面的文件!!! 否则将会导致你本地的工作拷贝 (静态视图)

被破坏,无法再进行操作。

三、SVNEclipse整合

下载SVN插件(http://subclipse.tigris.org)

我们使用版本eclipse_svn_site-1.6.5.zip

进入myeclipseeclipse 安装目录中dropins目录并创建一个svn的文本文件(文件名任意)

解压到上面文件夹即可文件夹中

*打开myeclipseeclipse点击找到

*新建SVN资源库

*检出

*发布功能

*常见操作

四、SVNApache整合

1下载Apache(http://httpd.apache.org/download.cgi)

  安装apache_2.2.14-win32-x86-no_ssl.msi

2打开Apache安装目录下Apache2.2\conf\httpd.conf 配置文件:

将下列2行前方的#移除(83 )

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

并同时在上面两行下面增加以下两行(一定放在这个位置)

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

找到Subversion 安装目录下的以下两个文件

bin/mod_authz_svn.so

bin/mod_dav_svn.so

复制到Apache 安装目录下modules 目录中。

3使用Apache 安装目录下的bin/htpasswd.exe 可执行文件来生成授权文件,第一次生成使用-cb 参数:

htpasswd -cb [filename] [username] [password]

例如:htpasswd -cb passwd.apache 用户名 密码 (其中用户名需为svn中添加的用户名)

将生成的passwd.apache 文件移动到SVN版本库中\conf 目录下

4apache 安装目录下的conf\httpd.conf 文件的最后面加入:

#配置项目虚拟目录#

<location /svn/itcast>

#引用远程访问模块

DAV svn

#项目版本库路径#

SVNPath F:/software/repository/svn/itcast

#授权文件#

AuthzSVNAccessFile F:/software/repository/svn/itcast/conf/authz

#所有用户都需要身份验证#

Satisfy Any

Require valid-user

#验证方式#

AuthType Basic

#项目的名称#

AuthName "itcast"

#用户文件#

AuthUserFile F:/software/repository/svn/itcast/conf/passwd.apache

</location>

5访问方式:

http://localhost/svn/itcast

*可以通过Repository Browser访问

*可以通过浏览器访问

后记:使用SVN我们应该

经常更新:降低冲突的可能性

提交前需在本机测试通过:降低将问题代码传到版本库

提交时一定写备注:方便其他员工查看和自己以后回顾

对于不需要提交的文件不要提交到版本库

原文地址:https://www.cnblogs.com/kuyuyingzi/p/4266416.html