(转)svn入门指南

原文地址:http://www.cnblogs.com/nanshu/archive/2013/04/20/3031824.html

久闻版本控制软件的大名,但是一直不了解版本控制软件的杰出之处。原来建过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

原文地址:https://www.cnblogs.com/fcsh820/p/3041419.html