-
下载和安装SVN的客户端TortoiseSVN, 安装完成后不需要重启,但重启完可以看到资源管理器里文件夹图标的更新。
-
从Svn Hosting上Checkout源代码-TortoiseSVN是一个资源管理器的插件,安装完成以后,鼠标右键点任何文件夹或者桌面都有TortoiseSVN的菜单项。选择SVN Checkout,如下图示:
-
填写源代码的SVN路径和本地文件夹。就是刚刚你在Svn Hosting上新建的那个项目,复制下来的那个地址。
例如,源代码路径是 http://svn.w18.net/svn/test_-这个是我在SVN Hosting上建立的一个测试项目。 -
然后他会提示你输入帐户,密码,将你在SVN Hosting注册的帐号和密码填上就OK。
第三步,把你的程序源码放入源码库
-
你是不是发现checkout下来的目录空空如也,如果你打开这个目录,你会发现除了一个.svn的隐藏目录,空空如也。是的,这是正常的。.svn目录用来记录你所有的操作记录,以一种不可思议的纪录方式。
图4:checkout finished后
图5:目录列表-这些小图标正是版本管理的标志,表明了这些目录正在使用SVN进行管理。打勾表示当前目录没有作代码更新;打“!”表明你更改了源代码,需要commit了。
图五:进到test目录里,发现空空如也,这是正常的,你没有放任何源码进去。 -
现在,把你的源码放进去这个目录里面吧。
第四步,Commit和Update
-
你现在应该要把你这个项目的代码提交到源代码库了。应该怎么样做呢?选择Commit。你可以在根目录下击右键,选取“SVN commit”,同样也可以到外面的目录,点右键选“test”目录。
-
这时,会出现这样的对话框,你选择“全部”,除非你有个别文件不希望提交到源码库里。
-
然后完成后,你会发现这个目录里的文件显示方式已经不一样了,是的,这些打了“勾”的文件已经进入到源码库并开始版本管理了。
-
好了,现在你在家里已经完成了代码的提交。然后,假设你回到公司,要获得源代码来继续跟进编写,怎么办呢?对了,第一次,先“checkout”下来,步骤同上,但因为这次你的源码库里已经有东西了,你checkout下来的目录不会是空的了,而是有你需要的源代码在里面了。
-
然后用编辑器修改程序,比如这里我只是用Dreamweaver小改了一下,也可以用VS.net, Eclipse等等,开发工具没有所谓。然后你会看到改过的文件会有一个“!”号,他提示你需要将最新的改动提交到源码库。
-
步骤同上。如果你需要一次commit多个文件,你直接选择根目录空白地方的右键来“Commit”;如果你只需要commit一个或指定文件,选择你那些需要commit的文件来commit。
-
然后,回到家后,点击“test”目录,选择一下“SVN update”,代码轻松同步了。
-
呵呵,是不是爽很多,再不用拿着愚蠢的移动硬盘或U盘跑来跑去,或者用小心翼翼,整天怕覆盖错的FTP来传来传去呢?
进阶部分:多人协同工作
-
多人协同工作首先你需要邀请你的朋友和其它开发程序员加入。比如,我这个“test”项目,需要邀请huajun来一起改代码(或者说,赋予huajun可以读和改我的代码的权限),我需要先到这个SVN hosting网站,进入“我的项目”,选择项目“test”,进入在最下面的“添加项目成员”处,填入“huajun”(注意,这个名字必须要与该用户的注册帐号完全一致)
-
提交后,huajun将会收到邮件,被告知他已经被我加入到这个项目的开发成员当中了。当然,你日后仍有这个删除他的权限的功能可使用。
-
huajun的步骤也是和我一样,先去登录SVN Hosting,然后在“我加入的项目”当中找到这个项目,进入,找到这个项目的SVN地址,Checkout下来。改动过后,Commit;要去改之前,记得先Update,看看partner们有没有作最新的更新,以免改重复。
-
如果我想邀请的朋友还没有在SVN Hosting上注册帐号,怎么办呢?我们现在有Email邀请功能,可以直接发邮件到你要邀请的人的邮箱,他收到邮件后,只需点击一个链接,即可实现一键注册并加入项目功能。
进阶部分2:Linux的应用
-
本人自从用上SVN后,再也没有用过FTP去上传源代码来做WEB项目和做网站了。(那些外面免费下载的ECshop和Discuz!除外了,不过也用wget为主了)用FTP的麻烦大家都知道:麻烦-要记住改了哪些文件;危险-很容易就覆盖错误。搞多几次,就搞糊涂了不知道哪个才是最新版本的代码。而使用SVN,这些问题完全解决了不再是问题。
-
步骤大概是-在调试环境上改动代码-Commit-在服务器上Update,这时等于最新版本的程序已经上传到服务器上。(对于不需要编译和BS架构的Script)
-
Linux下的SVN客户端大家可以google一下,不过我在ubuntu下是直接apt-get的安装相当简单。使用命令:svn checkout http://url就是将一个项目的源码取下来,用svn up就可以将最新的更新同步到服务器上了。
-
在Windows服务器上,更加简单,TortoiseSVN客户端同样可以在Windows Server上安装与运行。这里不赘述。
进阶部门3之import、export和show log、conflict
- import:你可以将一个未加入源代码库的项目代码,直接import到一个新项目中去。
- export:将帮助你导出一份没有.svn目录,不再带版本管理功能的源代码出来。
- log:日志功能非常重要。你可以在commit的时候,记下你这次改了什么,方便日后翻查以及回滚。
- 在SVN右键菜单里,还有很多选项。选择show log将可以看到整个更新纪录。
- 出现Conflict错误怎么办?最简单的办法,把你现在那个Conflict的文件删除掉,重新Update一遍。你当然也可以先看一下哪里冲突了,再作改动。
- 注意事项:不要直接将在SVN版本管理下的一些目录直接删除或重命名,这样很容易commit不上去并报错。最好的办法是,在SVN菜单里选“Delete”和“Rename”。
- 最后-要充分使用并领略SVN的好处,记得两点-在每次改动完之后,记得Commit;在每次去改动源代码之前,记得Update。
这里使用的是http://www.svnchina.com中国源代码托管的介绍。下载地址https://tortoisesvn.net/downloads.html,还有附属的中文汉化包可以下载。