svn软件版本控制

1、为什么需要SVN?
①团队开发②异地开发③版本回退
服务器端设置:

2、建立仓库:
svnadmin create 'svn服务器中的项目目录',在svn服务器中创建于项目同名的文件,并生成仓库

3、生成仓库后,要对该仓库实施监管:

svnserve -d -r '仓库路径',这是单仓库模式。在实际开发过程中,可能会有多个仓库要实施监管,这时可以把所有仓库放在同一文件夹下,并对仓库上一级目录实施监管,这样就可以达到多仓库监管的模式,访问的时候只需要在服务地址后面加上要选中的仓库即可;

客户端设置:
4、在客户端建立与服务器监管的仓库之间的联系
     ①在客户端的项目文件下,在空白处鼠标右键-》TortoiseSVN->Repo-browser->输入svn服务器IP-》选择要检出的目录-》成功后,可以在客服端文件中看到一个隐藏文件(.svn),即连接建立成功
     ②然后就可以在项目文件中对文件进行操作了,但在第一次提交操作时,会有权限问题,可以在仓库目录下的conf文件中svnserve.conf修改权限让anon-access = write(让匿名用户具有读写操作),但在实际开发中,是会对每个仓库进行权限设置的,在下面会讲到;
     ③对于其他要参与进项目的人员,只需要在第一次通过checkout与svn服务器建立连接,下载项目到本地即可,然后进行编辑,在提交即可;
5、SVN的强大功能:版本回退功能
     可以通过以下步骤实现版本的回退功能,回到想要回到的状态;
     ①在当前项目下,鼠标右击-》TortoiseSVN-》更新版本至-》显示日志-》选择想要回到的某个状态-》恢复至此版本做出的修改-》让服务器回到新的状态,还原后,重新提交;
6、SVN的权限控制
     默认情况下,svn是没有设置权限管理的,即所有用户都可以连接svn服务器;
     为了安全,必须要开启权限控制:在仓库下的conf文件中有个叫svnserve.conf文件中设置
      ①首先要关闭匿名用户的授权:#anon-access = write
      ②开启认证文件和授权文件:password-db = passwd(认证文件),authz-db = authz(授权文件)
     ③设置认证文件:格式: 用户名 = 密码
     ④设置授权文件,在svn中为每个用户设置权限的时,必须先使该用户属于某个组,然后再对该组进行授权。设置组:格式:组名 = 用户名(多个用户名用逗号隔开),设置组权限:格式:@组名 = rw(对于匿名用户:* = r(只读))
7、创建自启动服务:
     让svn中监管模式增加到系统中,开机自启动;
     在dos下:sc create 服务名称 binpath= (我 是一个空格 )“D:\subversion\bin\svnserve.exe --service -r D:/svnroot(要监管的仓库)"  start= ( 也是一个空格)auto(自动启动);然后通过系统服务,开启即可;
     net start 服务名称
     net stop 服务名称
     sc delete 服务名称(先停止服务再删除)
8、钩子程序
     可以使svn服务器下的仓库数据(源代码)同步(对svn所做的动作:上传,提交,删除会触发钩子程序)到我们自己设置的站点下,这样就实现了同步处理
     设置步骤如下:
     ① 首先在 客户端与服务端同时安装SVN客户端软件
     ② 设置一个同步目录,如服务器端Apache目录的虚拟主机目录   

    然后使用服务端的SVN软件,同步数据(保持客户端与这个目录是一致的)

     ③ 开启钩子程序(在svn/Web目录下/Shop目录/hooks钩子目录下创建post-commit.bat文件),输入如下代码:
     svn软件版本控制_第1张图片



     



你可能感兴趣的:(svn软件版本控制)