原文地址: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.youkuaiyun.com/thinkerabc/article/details/1831025
svn命令在linux下的使用http://www.php-oa.com/2008/03/12/svnminglingzailinuxxiadeshiyong.html