1、版本控制工具之SVN,Subversion (SVN)概述,Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。 目前,绝大多数开源软件都使用svn作为代码版本管理软件。,Windows服务器版本,Windows客户端版本,Tortoise SVN 是windows下最好用的subversi
2、on客户,它跟Windows的资源管理器结合操作方便简单。 SmartSVN 是一个功能强大而且简单好用的图形化的SVN客户端。 Subcommander 是一款 SVN 的客户端软件,支持 Windows 和 Mac 和 Linux 系统。 RapidSVN 是一个跨平台的SVN图形化客户端程序。 QSvn 是一个跨平台的图形界面的 SVN 客户端程序,支持包括 Linux/UNIX/Windows以及Mac OS操作系统。,SVN使用流程方式,配置选择,VisualSVN Server 服务端和 TortoiseSVN客户端搭配使用.,SVN中的几个重要概念,FileSVN中我们处理的所有
3、文档都叫文件操作:check out , check in , revert,commit ,update,get lock,release lock, rename RepositorySVN存储库,映射服务端一个文件夹 Working Space 本地文件夹,工作目录,服务端设置,进入VisualSVN Server Manager 选择Repositoriescreate new Repository,名为“BlogSys”,服务端设置,服务端设置,创建repository时设置权限(共三种,见下图),服务端设置,设置完毕,创建用户,创建用户:右键选择Users Create New U
4、ser,创建用户组,创建用户:右键选择Groups Create New Group,右键BlogSys Properties,分配权限,权限类型(四种),Inherit from Parent(Read/Write):权限和父节点的权限相同。 No Access:没有任何权限,用户无法将文件下载到本地。 Read Only:只读,用户只能从服务器将文件下载到本地,无法将修改提交到服务器。 Read/Write:读写,用户可以从本地将修改提交到服务器。,选中源码文件夹,右键(安装SVN客户端前提下),Import源码到服务器,将复制的版本库URL粘贴上,在URL后面加上trunk子路径.然后在
5、导入信息里面填上导入信息“check in source code“.如图:,Import源码到服务器,Checkout Source Code,新建一个工作文件夹,右键点击SVN checkout菜单 ,弹出如下窗体,检查URL的正确性,点击OK(提示用户输入用户名和密码,此处可以选中checkbox记住密码)即可。,常用客户端操作,Import,Check out,update,commit,revert,add,rename,delete,get lock,release lock等操作 请看演示,其他设置之提交时候必须写注释,的设置:选中工作文件夹newlogsize(设置limit0
6、)即可。,其他设置之客户端重新设置用户名和密码,在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了。 不过,如果后来在服务器端修改了用户名密码,则再次检出时就会出错,而且这个客户端很弱智,出错之后不会自动跳出用户名密码输入框让人更新,我找了半天也没找到修改这个用户名密码的地方,其他设置之IDE插件,Visual Studio中安装AnkhSvn插件,其他设置之IDE插件,Eclipse中安装SVN插件,其他设置之IDE插件,Eclipse中安装SVN插件,TortoiseSVN for Delphi IDE插件,支持 D7 2007 2010,QUESTION,1.SVN中,权限一共多少种,分别是什么? 2.SVN中怎么还原到指定的版本? 3.怎么获取到SVN的Repository URL 4.Delete操作什么时候生效(删除同步到Server) 5.出现源码文件冲突时,怎么解决? 6.怎么设置提交时必须写注释?,Thank you!,