zoukankan      html  css  js  c++  java
  • svn入门指南

    久闻版本控制软件的大名,但是一直不了解版本控制软件的杰出之处。原来建过github账号但是当网盘来使,用过TortoiseSVN是因为sae部署博客的需要。现在需要团队协作完成任务了,认真研究了一下svn。下面是入门指南,最后有svn相关的链接。

    为什么需要使用版本控制软件?

    多人协作一起写代码的时候,需要相互共享代码。使用SVN通常是指定一台机器为服务端,建立一个代码仓库。每个组里的成员在完成了自己的代码以后,向服务端提交(commit),服务端更新文件,但是不会把旧的文件删除,而是通过某种方式保存下来,其他机子能够通过服务端同步到最新的代码。同时每一次提交,都会产生一个新的版本号,客户端可以向服务端申请旧版本的代码。同时SVN可以对用户设定权限,让每个人都能够合理访问代码库。这样就实现了版本控制。

    入门指南

    这篇文章更像一个小结。如果你从来没有接触过版本控制软件,推荐先在自己的机子上装一个VisualSVN和TortoiseSVN尝试一下,有一个感性的认识,能加快学习。如何使用VisualSVN和TortoiseSVN,在文章结尾的链接处会给出。

    基本概念

    1
    2
    3
    4
    checkout      客户端命令:从服务端申请某个版本的project到本地
    add   客户端命令:当本地添加了新的文件或目录的时候,向服务端发信息,告知服务端
    commit    客户端命令:将修改提交给服务端,服务端生成新版本的project
    import    服务端命令:导入一个文件夹到代码库中(svn会复制,原文件夹不受影响)
    1
    还有更多命令,可以google。不过入门先了解这些就够了

    windows下工具

    做服务端可以用VisualSVN,比较方便,图形化界面控制,支持https访问。缺点好像在linux无法访问,我的尝试是这样的。

    客户端推荐使用TortoiseSVN,集成在鼠标右键,很方便。

    windows下用subversion没有试过,想了解的话,博文最底部的链接里有相应内容。

    linux下工具

    直接使用subversion。SVN是轻量级的服务器,支持svn://或者svn+ssh://访问。不支持http://,https://,file:///访问。不过SVN可以和apache整合,以提供支持。

    ubuntu下

    1
    sudo apt-get install subversion

    可以直接安装。

    linux下Subversion使用

    1
    svnadmin create path path处建立一个代码仓库

    这个代码仓库对应的配置文件在 path/conf/svnserve.conf

    里面几个模块

    1
    2
    3
    4
    5
    6
    7
    8
    9
    anon-access 非控监权用户的权限
            anon-access = none 代表无  read 代表只读   write 代表可读写
    auth-access 控监权用户的权限
            同上
    password-db 用户信息储存的文件
            password-db=passwd 表示用户信息储存在与svnserve.conf同目录的passwd文件中
            配置默认是passwd文件
    authz-db        权限配置文件
    realm       认证域

    相关配置文件格式

    用户名口令文件。也就是上面的passwd文件

    1
    username = password

    权限配置文件。authz-db

    1
    2
    3
    4
    5
    6
    7
    8
    [groups]
        <用户组>=<用户列表>    用户列表允许有用户组,引用用户组前加前缀@
     
    [版本库:路径]   
        <用户名>=<权限>
        <用户组>=<权限>
        * = <权限>      表示对所有用户
        权限取值        ''  'r' 'rw'    分别表示 无权限,只读,读写  (不带引号)

    更多链接

    个人独立博客 http://nanshu.sinaapp.com   http://1.nanshu.sinaapp.com/?p=111

    图解VisualSVN的配置和使用 http://www.jb51.net/article/17365.htm

    SVN入门及配置使用(一览) http://www.uml.org.cn/pzgl/200910239.asp

    三分钟完成Subversion(SVN)服务器的配置(进入linux)http://love-love-l.blog.163.com/blog/static/21078304200892483258971/

    svnserve配置文件详析http://blog.csdn.net/thinkerabc/article/details/1831025

    svn命令在linux下的使用http://www.php-oa.com/2008/03/12/svnminglingzailinuxxiadeshiyong.html

  • 相关阅读:
    推荐系统(Recommender System)
    Mac OS X安装OpenGL
    KMeans实现
    Principal Component Analysis(PCA)
    ReactiveX 学习笔记(15)使用 Rx.NET + Json.NET 调用 REST API
    ReactiveX 学习笔记(14)使用 RxJava2 + Retrofit2 调用 REST API
    Haskell语言学习笔记(91)Comprehension Extensions
    Go语言学习笔记(2)
    Go语言学习笔记(1)
    Rust语言学习笔记(6)
  • 原文地址:https://www.cnblogs.com/nanshu/p/3031824.html
Copyright © 2011-2022 走看看