SVN简明介绍
在团队合作项目中,你是否遇到过这样的情况:当你正在修改一个文件,却出现另一个人作了同样的事情。你是否曾因为这种巧合而导致了你的修改付之东流?
你是否曾经在文件保存之后,又想恢复到文件保存之前?你是否想过要去查看一个文件几天前的内容?
当你发现一个项目中的bug,你是否想知道它是何时出现在你的项目中?
如果你对上面任何一个问题回答“Yes”,那么SVN就是你所需要的!
SVN是Subversion的简写,它是一个自由/开源版本控制系统,可以跨越时间管理文件和目录,记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。
Subversion 可以通过网络访问它的版本库,从而使用户可以在不同的电脑上使用。一定程度上可以说,允许用户在各自的地方修改同一份数据是促进协作。进展可能非常的迅速,并没有一个所有的改变都会取得效果的通道,由于所有的工作都有历史版本,你不必担心由于失去某个通道而影响质量,如果存在不正确的改变,只要取消改变。
这只是一个粗略的介绍,详细资料请查阅:
版本管理与SVN为核心的快速开发环境
使用Subversion进行版本控制
和其它版本管理系统的对比
TortoiseSVN快速上手
我们的项目是在Google Code下完成,Google Code对SVN有很好的支持,于是,对于每一位参与项目编写的朋友来说,只需要在电脑上安装一个SVN客户端就够了。而对大多数人来说,使用命令来完成操作是很头疼的事,于是很多MS客户端应运而生,其中,小乌龟TortoiseSVN就是很优秀的一款。我们以TortoiseSVN为例,介绍如何使用。
TortoiseSVN功能丰富,但是我们只需要学会2个简单的操作即可,第一就是下载文件,第二是上传。下面针对各个功能作出说明。
操作命令1:Checkout…
1、下载TortoiseSVN的安装版。TortoiseSVN的官方主页。英文不好的朋友可以在Subversion中文站 寻找合适的中文版本下载。安装后,你不会看到任何可执行的程序,因为TortoiseSVN是嵌在windows里面的。
2、在电脑中新建一个空的文件夹,右键点击它,可以看到TortoiseSVN菜单以及上面的SVN Checkout。
3、 Checkout的意思签出,可以把svn中的目录文件下载过来,但不同于export下载的是,它具有验证的功能,Checkout到某处的文件、代码将会被TortoiseSVN监视,里面的文件可以享受各种SVN的服务。选择Checkout,就表示这个目录将与这个SVN地址关联,这里的修改可以提交到SVN服务器。但是,首先,你需要具有权限。
4、获取SVN密码。登录我们的教育大发现项目页,进入Source页面,你会看到
# Project members authenticate over HTTPS to allow committing changes.
svn checkout sociallearnlab –username xxx
username后面的xxx就是你的用户名,而就是我们的SVN地址,点击这段文字下方的 When prompted, enter your generated googlecode.com password.你就可以拿到SVN密码了。
5、 Checkout,将目录与这个SVN地址关联。右键选择SVN Checkout后,会跳出一个页面,在URL中填写我们的SVN地址,其他选项不需要更改,Omit externals不要勾选,HEAD Revision选中表示最新的代码版本,接着点击OK,在跳出的页面填写用户名和密码即可。
6、全部文件checkout之后,目录上会有一个绿色的勾,表示目录与文件为最新(与之相应的,如果是红色叹号则表示该文件已被修改)。这个目录中所有带勾的文件目前都在Tortoise的监视之下了,可以尝试右键单击文件,你会发现可以执行很多操作。接下来我会挑选一些比较常用的来讲解。
操作命令2:Commit…
假如你更新了目录中的文件,那么就可以用到commit功能。这个功能就是将你本地的文件修改记录上传到服务器上面,可以理解为上传。
但是commit的功能不仅仅是上传,他会和服务器上面的文件进行对比,假如你更新了某个文件而服务器上面也有人更新了这个文件,并且是在你 checkout之后做的更新,那么它会尝试将你的更新和他人的更新进行融合(merge),假如自动merge不成功,那么报告conflict,你必须自己来手动merge,也就是把你的更新和别人的更新无冲突的写在一起。
commit的时候,最好填写Log信息,这样保证别人可以看到你的更新究竟做了写什么。这就相当于上传文件并且说明自己做了那些修改,多人合作的时候log非常重要。
操作命令3:Add…
TortoiseSVN 的commit只会上传原先 checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号,在下次commit的时候它就会被upload并且被标记为绿色对勾。没有绿色对勾的文件不会被commit。
假如你需要给带有绿色对勾文件改名或者移动它的位置,请不要使用windows的功能,右键点击它们,TortoiseSVN都有相应的操作。想象这些文件已经不在是你本地的东西,你的一举一动都必须让Tortoise知道。
操作命令4:Revert…
假如修改了某个文件但是你后悔了,可以右键点击它选择Revert,它将变回上次checkout时候的情况。或者Revert整个工程到任意一个从前的版本。
操作命令5:Update…
假如是多人合作的项目,自己不做修改的话别人也要修改,这时候就需要使用update来同步本地和服务器上的代码。同样是右键选择update,所有的更改就会从服务器端传到你的硬盘。注意,假如别人删除了某个文件,那么更新之后你在本地的也会被删除。
如果本地的代码已经被修改,和commit一样会先进行merge,不成功的话就会报告conflict。
其他……
假如有的文件不想让别人修改,还可以进行Lock操作。 还有用于查看所有log的show log菜单,现实版本更新图示的Revision graph,查看服务器端目录结构的Repo-browser。另外还有创建tag操作,相当于把当前的代码版本复制一份到其他地方,然后以这个地方为出发点进行新的开发,与原来位置的版本互不干扰。
相关资源:
阅读(668) | 评论(0) | 转发(0) |