SVN第一次使用笔记


在网上搜索了svn教程,真是很多文章都差不多,想找自己需要的都难,所以我整理一些对我有用的,方便我以后查阅!

安装和部署
如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有动画教程。

本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。


本教程分为以下几个部门,不仅仅是快速入门,最后我们还有一些高级功能的说明,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用,对于UNIX环境下,区别并不大。


软件下载
服务器和客户端安装

建立版本库(Repository)
配置用户和权限

运行独立服务器
初始化导入
基本客户端操作

1,软件下载

下载Subversion服务器程序。
到官方网站 的下载二进制安装文件,来到二进制包下载部分  ,找到 Windows NT, 2000, XP and 2003部分,然后选择"this directory",这样我们可以看到许多下载的内容,目前可以下栽 svn-1.2.3-setup.exe。


下载Subversion的Windows客户端Tortoise SVN
TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN,下载方式和前面的svn服务器类似,在Download页面的我们选择Official version for Win2k/XP or higher的版本,然后在sourceforge的下载页面选择目前的最高稳定版本的安装文件TortoiseSVN-1.2.4.4479-svn- 1.2.3.msi。


2,服务器和客户端安装


服务器安装,直接运行svn-1.2.3-setup.exe,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。
安装TortoiseSVN,同样直接运行TortoiseSVN-1.2.4.4479-svn-1.2.3.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。


3,建立版本库(Repository)

运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

svnadmin create E:\svndemo\repository
就会在目录E:\svndemo\repository下创建一个版本库。我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。

4,配置用户和权限

来到E:\svndemo\repository\conf目录,修改svnserve.conf:

# [general]
# password-db = passwd

改为:

[general]
password-db = passwd
然后修改同目录的passwd文件,去掉下面三行的注释:

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

最后变成:

[users]
harry = harryssecret
sally = sallyssecret


5,运行独立服务器

在任意目录下运行:

svnserve -d -r E:\svndemo\repository
我们的服务器程序就已经启动了。


6,初始化导入

来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:

右键->TortoiseSVN->Import...
URL of repository输入“svn://localhost/trunk”
ok
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。


7,基本客户端操作

取出版本库到一个工作拷贝:

来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。

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

打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。

察看所作的修改:

readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。


常用操作集合:

简单的说,TortoiseSVN可以看作一个代码版本控制工具,方便多人合作编写代码。现在有不少开源的作品是使用SVN作为源码管理工具的,学会了TortoiseSVN就可以很方便的拿到这些代码。
TortoiseSVN功能丰富,但是我们只需要学会2个简单的操作即可,第一就是下载代码,第二是上传。下面针对各个功能作出说明。

Export...下载
因为开源的项目大都是可以直接下载的,而上传可能还需要开通某些权限,所以先说代码的下载。
1、下载TortoiseSVN的安装版本并安装。你不会看到任何可执行的程序,因为TortoiseSVN是嵌在windows里面的。
2、新建一个空的文件夹,右键点击它,可以看到TortoiseSVN菜单以及上面的SVN Checkout。
3、不用管这个Checkout,我们选择TortoiseSVN菜单下的Export...,接着它会让你输入url。
4、比如输入【迷宫探宝】的SVN地址是:
http://game-rts-framework.googlecode.com/svn/trunk/
5、其他选项不需要更改,Omit externals不要勾选,HEAD Revision选中表示最新的代码版本,接着点击OK即可将代码导出到这个目录中:)

就像解压缩一样,不是么?你还可以尝试从这里下载TortoiseSVN的源码:
http://tortoisesvn.tigris.org/svn/tortoisesvn/
这里可能需要登录,用户名是guest,密码留空即可。

Checkout...迁出
Checkout的意思签出,虽然和Export的效果一样是把代码从服务器下载到本地,但是Checkout有验证的功能,Checkout到某处的代码,将会被TortoiseSVN监视,里面的文件可以享受各种SVN的服务。
选择那个Checkout的话,就表示这个目录将与这个SVN地址关联,这里的修改可以提交到SVN服务器。由于这表示将参与代码的编写,往往需要开通权限才可以。
可以到http://code.google.com/hosting/,选择create new project,获得一个由google提供的SVN空间,上传你的代码。我就不在这里详细讲申请过程了,填一个简单的表格就可以。
现在,我假设你已经得到某个SVN的账户和密码,譬如我们的RTG项目:
https://game-rts-framework.googlecode.com/svn/trunk/
注意前面是https://,多了一个s表示security,意思需要校验。
假设用户名是guest,密码是abc(这个用户名和密码可以由项目管理者分配给你)

1、在某目录上右键单击SVN Checkout...出现链接输入。填入上放的url,其他选项依旧不要更改,和Export类似。
2、在要求输入用户名和密码的时候填写正确的内容,接着会出现代码下载画面。
3、全部文件checkout之后,目录上会有一个绿色的勾,表示代码在最近一次update只好未被修改。

这时,目录中的文件都会有绿色的勾,如果你修改了他们,就会出现红色的惊叹号表示这个文件已经被修改。这个目录中所有带勾的文件目前都在Tortoise的监视之下了,可以尝试右键单击文件,你会发现可以执行很多操作。接下来我会挑选一些比较常用的来讲解。
Commit,Revert,Add,merge,Delete...提交,撤销,添加文件,合并冲突,删除
假如你更新了目录中的文件,那么就可以用到commit功能。这个功能就是将你本地的文件修改记录上传到服务器上面,可以理解为上传。
但是commit的功能不仅仅是上传,他会和服务器上面的文件进行对比,假如你更新了某个文件而服务器上面也有人更新了这个文件,并且是在你checkout之后做的更新,那么它会尝试将你的更新和他人的更新进行融合(merge),假如自动merge不成功,那么报告conflict,你必须自己来手动merge,也就是把你的更新和别人的更新无冲突的写在一起。
commit的时候,最好填写Log信息,这样保证别人可以看到你的更新究竟做了写什么。这就相当于上传文件并且说明自己做了那些修改,多人合作的时候log非常重要。
TortoiseSVN的commit只会上传原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号,在下次commit的时候它就会被upload并且被标记为绿色对勾。没有绿色对勾的文件不会被commit。
假如你需要给带有绿色对勾文件改名或者移动它的位置,请不要使用windows的功能,右键点击它们,TortoiseSVN都有相应的操作。想象这些文件已经不在是你本地的东西,你的一举一动都必须让Tortoise知道。
假如修改了某个文件但是你后悔了,可以右键点击它选择Revert,它将变回上次checkout时候的情况。或者Revert整个工程到任意一个从前的版本。
Update(很重要,每天来了之后先update一下,再修改)
假如是多人合作的项目,自己不做修改的话别人也要修改,这时候就需要使用update来同步本地和服务器上的代码。同样是右键选择update,所有的更改就会从服务器端传到你的硬盘。注意,假如别人删除了某个文件,那么更新之后你在本地的也会被删除。

如果本地的代码已经被修改,和commit一样会先进行merge,不成功的话就会报告conflict。
其他……
假如有的文件不想让别人修改,还可以进行Lock操作。
还有用于查看所有log的show log菜单,现实版本更新图示的Revision graph,查看服务器端目录结构的Repo-browser。
另外还有创建tag操作,相当于把当前的代码版本复制一份到其他地方,然后以这个地方为出发点进行新的开发,与原来位置的版本互不干扰。

这些属于比较高级的应用,详细的请自己查看帮助文档http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/
吧。


转载于:https://www.cnblogs.com/6666/archive/2009/09/24/1573239.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值