经常折腾wordpress主题的朋友可能会遇到以下问题:

是否曾经保存完一个修改,然后又想把个文件恢复到修改以前的状态?

是否曾经希望能够看到一个文件以前某个时间点的状态?

是否想看看一个或多个文件有什么区别?

是否曾经发现了一个 BUG,然后想调查它是什么时候产生的?

如果上面有一个问题答案是肯定的,那么你可以使用版本控制来解决。即“透过文档控制(documentation control), 能记录任何工程专案内各个模组的改动历程,并为每次改动编上序号。”

我的理解:省去每次修改-复制-备份的手动操作(增量备份),另外附带一键还原功能

尤其对于我这种纯属业余的来说 ,一来技术是不行的,只好经常copy代码测试,不满意想回滚到以前的版本是常事儿;二来,时间也不是连续的,只在没事的时候改改,常常忘了改了哪些地方,与服务器上面的版本有哪些差别。此外,还是需要经常备份一下,防止哪天脑残修改出了一大堆的错误回溯不了。

选好工具无疑会大大节约时间,曾经见过专业的程序员写代码提及SVN这个东西,网上下载时也看到过google code这个地方提供开源代码存放,今日搜索了一下相关的东西,也就是版本控制相关知识,觉得挺不错的,放在这里分享一下。

首先推荐的是:Subversion/Google code 项目托管(服务端)+TortoiseSVN(客户端)+Notepad++/Eclipse(开发工具)的组合

先介绍下背景,不想看长文的请无视,直接看底部

Subversion是什么?
Subversion是一个自由/开源的版本控制系统。也就是说,在Subversion管理下,文件和目录可以超越时空。也就是Subversion允许你数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。

Google code Project hosting(项目托管)
相信大家很多都熟悉在wordpress主题中引入Google提供的JQuery库,作为其中一部分,Google Code里提供Project Hosting。通过这项新服务,用户可以搜索各种开源项目,也可以自己上传新项目。但前提是用户必须拥有一个Gmail帐号。你可以把 Project Hosting看作是一个开源代码库。当然,最重要的就是版本控制功能。

TortoiseSVN
针对 Windows 平台的 Subversion 客户端,通过与系统资源管理器结合,提供可视化的svn管理。TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。

Notepad++/Eclipse
这个就不用介绍了,我们是业余爱好者,也许用不到EclipsePHP,但是你总不可能用记事本编辑主题吧?尤其是需要高亮代码和UTF-8支持,我推荐这个轻量级的文本编辑器(台湾出品,虽然作者好像有点政治倾向),折腾wordpress够用了。当然,其它的编辑器也可以,我只是熟悉这个,然后刚好有一个插件用来实现svn的管理,后面再说。

下面说说具体实施的方法:
建立一个项目库,记录每次文件变化。用Notepad++等编辑器修改文件后提交给管理库记录,每次修改后都会自动记录版本变化;需要比较、修改时可从服务端还原。理论上可以无限还原,对于多个用户,可以保存每个用户的提交而不会相互影响。

解决方案:

(一)使用Google code作为SVN
优点:无需服务端,移动平台
缺点:大小50M,必须开源(注意),不开源据说30天会被删除
简单的教程转引网友写的:(原文http://www.cnblogs.com/shiyangxt/archive/2008/10/06/1304756.html)
1. 进入http://code.google.com/ 用Google帐户登录(推荐使用gmail邮箱)。然后点击>Project Hosting
2. 进入>> http://code.google.com/hosting/ 然后点击>Create a new project
3. 填入信息:
写入项目名,描述,两个选择项(不太明白啥意思)选第一个就好使,写入标签,点击确定。就可以了
4. 提交成功后,选择菜单的Source(其中有https上传协议路径需要拷贝一份,还有一个上传密码)。
5. 打开MyEclipse,打开需要上传的项目,点鼠标右键->team->share Project->svn,写入https路径,下一步,输入Google账号和上传密码,起个名,finish。(当然,不用Eclipse的同学就用TortoiseSVN就行了)

6.如果一切顺利,会自动生成一个项目目录,可以查看所有项目文件。然后进入搭建项目界面,点鼠标右键->team->commit。然后开始上传项目。

7.完了,搭建完成。

8.如果想查看自己的项目,可以用浏览器登陆https的路径,输入Google账号和上传密码,如果成功就可以看到含有项目名称的目录。

(客户端请看下面使用TortoiseSVN,以后部分相同)

(二)本地搭建服务器
优点:本地保存版本库,私密,可以供团队合作(当然google的也是可以的,开源而已)
缺点:配置稍微复杂点,需要额外开启一个系统服务,不过我还是尝试了下这个,有时上网不太方便
下面部分转自:http://blog.waterlin.org/articles/create-local-svn-server.html选用时有更改

1) 搭建一个subversion服务器

在Windows下,推荐使用VisualSVN。这个发行版本的安装最简单了,包含了所有我们需要的模块,如subversion,Apache以及一个控制终端。安装很简单,一步一步安装完成即可。

下载VisualSvn:http://www.visualsvn.com/server/download/     当然也有中文语言包

2) 安装一个svbversion的客户端

在Windows下推荐用TortoiseSVN,我不觉得在命令行下一行一行地敲svn命令是一件很开心的事~~

下载TortoiseSvn:http://tortoisesvn.net/downloads

安装后会重启,没有界面,集成到资源管理器中,右键点击文件可见菜单。

3) 管理你的内容

第一步,在VisualSVN里(管理工具里),创建一个代码Repositories,比如说,我现在要写一个wordpress的主题,创建一个名叫 wordpress的Repositories(就相当于数据库),设置好相关的属性后(基本就地址,用户和权限,本地的话随便给个用户名,注意是否采用ssl)

第二步,用TortoiseSVN来check out这个Repositories。在合适的地方,如本地搭建的wordpress环境的theme文件夹下建立一个新的文件夹,如mytheme,右键SVN检出(Check Out)。Check Out的地址就是VisualSVN在Repositories属性里提供给你的URL地址,类似于:

https://WWW-81ECC445A0F:443/svn/wordpress/

当然,你可以把计算机名换成localhost,即修改成如下地址:(443是前是你的计算机名)

https://localhost:443/svn/wordpress/

第三步:在这个新建立文件夹里编辑你的主题,每次结束后,在这个文件夹里右键点击SVN提交,即表示你提交这个版本给服务端,以后你随时都可以回滚到这个版本。你可以看见,每次修改了文件,文件图标都是不一样的。绿勾代表无更改,红叹号表示修改过的文件很方便吧~

第四步,如果你喜欢用eclipse的话,用Subclipse我用Notepad++,作为svbversion的客户端也不错。用这个Notepad++插件,Subversion Plugin 就一个dll,去下载后解压到Notepad++安装文件夹下面的plugin里面,重启就可以看见,如图:


在编辑时候就直接可以提交更改和还原了,(前提,必须先按第三步配置好TortoiseSVN),菜单分别对应提交当前文件,提交所有打开的文件,更新文件,更新所有,还原文件,还原所有。

就这样,你在本地能清楚地看到你这次修改了哪些文件,只要把这些文件上传到服务器即可。这下就不用每次抓狂地回忆究竟修改了哪个文件!

总结:我之所以推荐这个,是因为这个方法几乎可以用到任何文档修改的地方,作为版本控制。当你毕业写毕业论文,工作撰写报告,平时需要经常更改文件,SVN都是有用的。当然,word2003有个保存为版本的功能,不过2007以后都给移除整合到sharepoint里,这里不再赘述。

以上只是刚接触SVN不久的我的一点收集,如有错误还请熟悉的朋友指正。

PS:本来Dropbox也有版本控制的功能,哎,可惜~~大家都懂的

  1. Ray (2010.05.17 at 17:44) ☆沙发

    好像很不错,不过有点麻烦。

    • winy() (2010.05.17 at 19:06)

      @Ray 一次动手,后面就简单了 :lol:

  2. 万戈 (2010.05.17 at 19:48) 板凳

    很详细啊
    我用的就是google code和notepad++

  3. 林木木 (2010.05.19 at 15:52) 地板

    用editplus无限撤销……

发布评论

邮箱(必填)

换个背景