zoukankan      html  css  js  c++  java
  • 版本控制器SVN的使用

    前言:

    偶然的机会见到了SVN这个东西,发现对写程序、管理程序相当有帮助,可以自动帮你备份不同阶段开发的程序,还可以比较不同版本间代码的异同,比起自己一个一个文件夹的备份要方便很多。下面讲一下怎么用,我是在本机做服务器和客户端两部分,因为我只自己用,当然也可以分开装在不同的机器上,供组内多个成员使用,恐怕后者是SVN的本意和优势吧,呵呵自己用也不错。一些开源软件项目的发布采用了SVN的方式,可以让其他人参与进来。

     

    准备:

    获取 Subversion 服务器程序,服务器端从http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91下载,

    获取TortoiseSVN 客户端程序,官网http://tortoisesvn.net/downloads,它们都可以从别的网站搜到。。

    下载完按提示安装。主要的功能在右键菜单中有,如下图:

     

    配置服务端:

    在需要的地方建立存储文件夹(即是版本库Repository),如在D盘建立文件夹D:\svn。打开命令提示符,使用cd命令进入subversion的bin目录下,这里有它的所有命令,执行

    svnadmin create D:\svn\repos

    这样就在D:\svn下建立了版本库repos,里面会自动生成一些文件夹和文件。这一过程也可以使用TortoiseSVN图形化完成,略去。

    建立好版本库后,就可以运行SVN服务了。同样在bin目录下,运行命令

    svnserve.exe --daemon --root drive:\path_to_repository

    这里,我们运行svnserve.exe --daemon --root D:\svn

    这样svnserve就以守护进程方式运行,这样在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把 svnserve 停止。

     

    配置用户和权限:

    用文本编辑器打开D:\svn\repos\conf目录,修改svnserve.conf:

    将:

    # password-db = passwd

    改为:

    password-db = passwd

    即去掉前面的 # 注释符,注意前面不能有空格。

    然后修改同目录的passwd文件,增加一个帐号:

    将:

    [users]
    # harry = harryssecret
    # sally = sallyssecret

    增加帐号:

    [users]
    #harry = harryssecret
    #sally = sallyssecret
    usr = usr

     

    项目初始化导入:

    现在就可以将自己的项目导入建立的这个版本库,以后就由版本库管理我们的数据。任何改动都回被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。每提交一次版本号都会加1。

    在项目文件夹上“右键 -> TortoiseSVN -> Import...” ,在弹出对话框的“URL of repository”输入“svn://localhost/repos/pro”。在“Import message”输入“初始化导入的工程xxx”作为注释。
    点 OK 后要求输入帐号。我们在用户名和密码处都输入 usr 。完成后 pro中的内容全部导入到了 svn://localhost/svn/repos/pro。

    回到目录中查看,在 D:\svn\repos 没有任何变化,连个 pro文件夹都没有建立,唯一的变化就是D:\svn\repos容量变大了。实际上我们源pro中的内容已经导入 repos 版本库了,源 pro文件夹可以删除了。需要注意的是,这一步操作可以完全在另一台安装了 TortoiseSVN 的客户机上进行。例如运行svnserve的主机的IP是172.16.166.50,则URL部分输入的内容就是“svn://172.16.166.50”。

     

    客户端使用:

    当然了我的客户端是和服务器端在一起的,不过并不影响方法的使用,我们用这个方法一样可以下载到别的机器上的代码。

    1、取出(check out)

    取出版本库到本地。在需要的位置建立一个空文件夹 E:\pro 。“右键 -> SVN Checkout”。在“URL of repository”中输入“svn://localhost/repos/pro”,输入用户名密码usr,开始下载,时间可能会很长,我下了一个东西花了20多分钟,完成后就得到了一份pro中内容的工作拷贝。取出的文件夹上面有个绿色的勾,如果你更改了里面任何一个文件的内容,文件夹就有一个红色的叹号标志,修改的文件也有叹号标志,提示你发生了更改。如下图:

    2、提交(commit)

    在工作拷贝中作出修改并提交:

    在 pro工作拷贝中随便打开一个文件,作出修改,然后“右键 -> SVN Commit... ”。这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据。

    在修改过的文件上“右键 -> TortoiseSVN -> Show Log” ,可以看到对这个文件所有的提交。在不同的 revision 条目上“右键 -> Compare with working copy”,我们可以比较工作拷贝的文件和所选 revision 版本的区别,有比较友好的方式告诉你哪些部分发生了变化,是怎么变化的。

     

     

     

    总结:

    SVN版本控制器配置简单,功能齐全,如果和Apache一起使用,就可以在浏览器中以目录的形式显示,如下图示例:

  • 相关阅读:
    hdu2049
    hdu2047
    hdu2568
    hdu2570
    推流摄像头推RTMP视频流至EasyDSS视频直播点播平台Chrome浏览器无法播放如何解决?
    RTMP推流协议视频智能分析/人脸识别/直播点播平台EasyDSS接口调用注意事项介绍
    【解决方案】人脸识别/智能分析视频安防服务平台EasyCVR如何打造智慧人社局培训办事机构远程监控系统?
    【解决方案】RTMP推流协议视频智能分析/直播点播/人脸识别平台EasyDSS打造智能多媒体展厅解决方案
    【解决方案】视频智能分析/人脸识别平台EasyDSS实现景区智慧旅游体系,VR+大数据打造风景区实时视频
    RTMP推流协议视频智能分析平台EasyDSS直播点播系统新版本无法完成推流以及录像回看排查过程
  • 原文地址:https://www.cnblogs.com/njucslzh/p/1757986.html
Copyright © 2011-2022 走看看