svn的使用与搭建

============================================服务端=================================================
//subversion包括客户端和服务端
svn安装 :Ubuntu  apt-get install subversion
		  Centos    yum install subversion

//创建版本库
svnadmin create /home/guojin/svnservice1

//删除版本库
rm -rvf /home/guojin/svnservice1


//配置文件位于/home/guojin/svnservice1/conf/中
文件:authz --配置用户组已经用户组权限
文件:passwd -- 配置用户名和密码
文件:svnserve.conf  --配置默认权限,权限配置文件以及密码配置



文件svnserve.conf中:
anon-access = none --未经验证的用户什么都不可以做 --read:只读  write:读写
auth-access = write --已经验证的用户可以提交本地代码
password -db = passwd
authz -db = authz


文件passwd中:格式:用户名=密码
imooc = 123456       
imooc1 = 123456 
imooc2 = 123456 


文件authz中:[groups]中:分组权限  [/]中:表示版本库的根目录, [imooc:/]:表示权限只适用于名称为imooc的版本库
格式:@用户组名 = 权限 r,w,rw   
	  用户名 = 权限    
	  * = 权限      *代表所有用户

[groups]
pm = imooc     
normal = imooc1,imooc2

[/]
@pm = rw
@normal = r


[imooc:/]
imooc1 = r




=====================================================================
//在svnservice1版本库中开启svn服务端
svnserve -d -r /home/guojin/svnservice1

//当开启svn服务端的时候指定了svn库版本,客户端连接时候只需要连接到服务端的主机即可
例如:svn checkout -r 1008 svn://192.168.20.90


//关闭svn
ps -ef|grep svnserve 
kill -9 进程号

=====================================================================
//svn服务开机自启动
vi  /etc/rc.local



=========================================客户端================================================
//检出版本为1008的工作目录  3690为服务端svn的默认端口,svnservice1为之前创建的版本库名称
svn checkout -r 1008 svn://192.168.20.90:3690/home/guojin/svnservice1


//添加到版本控制
svn add 

//把工作副本中新增的css文件增加到版本控制中
svn add css


//把工作副本中当前所有没有版本控制的文件都加到版本控制中
svn add * --force


//提交修改到服务端
svn commit


//只提交myfirst.lua文件
svn commit -m "提交的备注" myfirst.lua


//提交当前所有没提交的文件
svn commit -m "提交的备注" *



//更新工作副本 --默认情况下,每个文件只会从服务的更新一次最新版本
svn update


//更新index文件到1008版本
svn update -r 1008 index.lua


//强制更新工作副本所有文件
svn update *



//从版本库中删除文件和目录--需要提交才能从svn服务端中删除文件
svn delete



//比较本地和版本库中的文件差异
svn diff index.lua


//比较本地和版本库中1008版本的文件差异
svn diff -r 1008 index.lua


//比较版本库中1008版本和1009版本的文件差异
svn diff -r 1008:1009 index.lua



//不检出工程,查看工程文件
svn cat http://p1.x.com/svn/csxy_syzc/server/trunk/index.lua


//还原文件回版本库
svn revert index.lua


//还原所有文件(包括子目录)回版本库
svn revert --recursive *




//开始处理冲突
svn resolve index.lua


//当冲突发生时候,输入df,显示冲突差异 <<<<<<到======之间的内容是自己的 ,========到>>>>>>>之间的内容是版本库的,按e编辑文件,按p推迟处理(推荐)
//已经解决冲突,仍然需要重新提交代码
svn resolved index.lua



//提交后会自动解锁
svn lock
//锁定文件,防止其他成员对文件进行提交
svn unlock
//解锁文件

猜你喜欢

转载自blog.csdn.net/Hahaha_Val/article/details/80481853