SVN版本控制

1.下载SVN服务器和客户端版本控制软件
2.subversion为服务器端,tortoiseSVN为客户端软件
3.安装完重启电脑
4.桌面右键,看到有SVN checkout和tortoiseSVN选项则表示安装成功
5.新建一个空目录,e:/server
6.进入server目录,右键单击tortoiseSVN--create repository here(建立版本库),弹出一个警告框:the repository was successfully created并创建了conf,db,hooks,locks文件夹 表示成功
7.conf文件夹里有3个文件
    authz:版本权限文件
    passwd:和用户相关的文件
            格式为:用户名=密码 的形式
    svnserve.conf:svn的主配置文件
        打开svnserve.conf文件
        12行 anon-access = read 是对匿名用户的权限配置 默认是匿名用户有读的权利
        20行 password-db = passwd 这行须要修改
        表示 打开一个接口,容许客户以用户名和密码的形式进行访问
        将#去掉使配置生效,保存,配置生效
8.开启服务
    打开命令行,输入
    svnserve.exe -d -r 版本库目录地址
    例如 svnserve.exe -d -r e:/SVNserver
    这样这个服务器就能够对外进行访问了
    注意 doc界面不能关,不然服务将会中止
    模拟远程访问一下
        1.上传:
        在F盘新建一个目录SVNuser1
        进入目录
        右键tortoiseSVN--repo-browser浏览
        弹出一个对话框 输入 svn://127.0.0.1 点击ok
        弹出右一个对话框 点击ok
        右键SVN Checkout 点击ok
        copy几个文件到目录
        右键文件 tortoiseSVN--add添加
        图标由?变成 + 
        右键 SVN Commit 上传
        弹出一个对话框,能够输入描述信息 点击ok
        弹出一个对话框 输入用户名和密码 ok
        ok
        文件会变成√表示上传服务器成功
        编辑上传过文件,会变成!图标
        加锁 右键tortoiseSVN--Get lock 
        输入用户名密码 ok 加锁成功
        解锁 右键tortoiseSVN--Release lock
        输入用户名密码 ok 解锁成功


        2.下载:
        新建一个目录 F:/SVNuser2
        进入目录
        右键tortoiseSVN--repo-browser
        弹出对话框 选择URL ok
        能够看到文件列表 表示连接正常
        右键 SVN Checkout 检出-第一次下载
        点击ok 就能够看到上传到服务器的文件
        user2中添加文件user2test.php
        右键tortoiseSVN--add
        右键SVN Commit
        进入user1目录
        右键SVN Checkout 变成了 SVN Update 表示更新


        3.删除
        删除user1中test.php文件
        右键SVN Commit
        选中删除的文件 ok输入用户名密码 ok 删除
        user2文件夹中
        SVN Update test.php文件也删除成功


        4.历史版本找回
        右键tortoiseSVN--update to revision
        弹出对话框
        选择Revision单选框 输入版本号 ok


        5.文件差别
        user1新建了一个index.html文件,提交到服务器
        user2在user1的基础上进行修改,并提交到服务器
        右键tortoiseSVN--Diff with previous version
        能够看到以前版本与当前版本之间的差别


        6.冲突
        user2修改index.html 增长了一句<div>dddddd</div>
        user1修改index.html 增长了一句<div>eeeeee</div>
        user1先进行提交
        user2以后提交,则会提示失败,须要首先更新服务器内容到本地,再从新修改上传
        这时候更新到本地会产生一个冲突 文件会有一个!标示
        右键tortoiseSVN--edit conflicts 编辑冲突
        手动解决冲突
        能够在左侧服务器版本点击右键 选择 use this whole file
        也能够选择单行右键 use this text block解决冲突
        也能够在右侧本身的版本中点击右键相应做出选择
        保存
        右键tortoiseSVN--Resolved
        右键SVN Commit


        7.取消记住用户名
        若本地记住了SVN的用户名和密码,当须要使用别的帐号时,没法更改帐号,使用如下方法能够切换帐号:
        打开C:\Documents and Settings\用户名(管理员是Administrator)\Application Data\Subversion\auth,
        删除该文件,而后从新更新即会弹出输入用户名密码的界面,输入用户名密码搞定


        服务器端
        1.将服务加到自启动中
            sc create svnserve binpath= "d:\Subversion\bin\svnserve.exe --service --root e:\SVNserver" 
            binpath=后边必定要加空格 而后里面内容为安装路径 --service --root 版本库路径
            个人电脑--管理--服务里会有一行 svnserve 能够手动启动服务
            能够对它进行配置 单击右键--属性--自动启动
        2.权限管理
        默认匿名用户是能够访问服务器上的文件的并进行下载的,这样不利于安全
        打开e:/SVNserve/conf/svnserve.conf
        12 行 # anon-access = read 改为
        anon-access = none 
        权限配置
        打开e:/SVNserver/conf/auth文件
        在[groups]中增长
        admin = lampbrother0 =两边要有空格
        对目录进行配置
        [/]
        @admin = rw 组的可读可写权限         lampbrother1 = rw 用户的可读可写权限         * = r 其余用户可读权限         打开e:/SVNserver/conf/svnserve.conf         27 行 # authz-db = authz 默认为不用任何的权限配置         打开注释 改为 authz-db = authz 找到zuthz相关配置进行权限配置         常见图标         √ 表示状态是正常的,如今的版本跟服务器上的版本是一摸同样的         !表示文件同步过服务器后进行过修改,尚未上传到服务器         ?表示新建的文件,服务器还不认识         + 已经添加到管理名单,尚未上传到服务器         锁表示文件加锁
相关文章
相关标签/搜索