欢迎访问小程序员!

SVN版本控制

2014-04-27 0条评论 1218次浏览

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相关配置进行权限配置


        常见图标
        √ 表示状态是正常的,现在的版本跟服务器上的版本是一摸一样的
        !表示文件同步过服务器后进行过修改,还没有上传到服务器
        ?表示新建的文件,服务器还不认识
        + 已经添加到管理名单,还没有上传到服务器
        锁表示文件加锁

发表评论

登录,将以游客形式发表

网友最新评论(0)