给一个文科生小朋友写的东西。
我们知道文科生包括经理还有各种科学家:),一般都有很多office文件要写,同一个文件因为写作周期可能存在不同的版本,另外不同的版本之间也常常需要进行差异比对。 如果对每个版本文件都用另存一个文件的方式来管理的话很不方便,空间浪费也比较大,最重要的是一旦不小心删除或者文件被病毒损坏,就很难恢复。

其实对于office文件和一般的文档资料很适合用tortoise svn这样的工具来进行管理。尤其是tortoise内置了对office文件的比对支持,操作非常方便。

这里介绍怎么用tortoise svn 来管理自己的office和其他文档。

首先下载安装小海龟, 这是一个开源免费的svn客户端工具。

http://tortoisesvn.net/downloads TortoiseSVN-1.5.0.13316-win32-svn-1.5.0.msi
根据需要可以安装中文语言包
小海龟安装以后会在windows的文件浏览器的右键菜单里增加几个属性,用这几个属性就可以完成操作了。


考虑到文科生一般不熟悉软件开发的东西, 先介绍一下基本概念

1. repository 仓库
svn 需要一个仓库来管理要存放的文件, 对应的是操作系统的一个目录。
考虑到不同的版本积累,仓库一般要比你实际的文档大一些,硬盘空间要留够。
当然仓库可以建立多个,如果硬盘空间不够了,换个盘再建也可以。

也可以根据自己的需要,把资料分类建立不同的仓库,这样备份会更加方便。

注意:svn的仓库是压缩存储的,里面的东西不可以直接存取和删除。


2. checkout

把仓库里的文件取出来放置在本地的一个目录。做checkout操作时本地目录最好为空。

checkout的时候可以进一步指定目录,这样只用checkout一部分内容,节约时间。

3.  commit

本地文件修改以后,需要把变化提交到仓库中。

如果是新文件,需要是仓库没有的文件,选择add提交。
如果要删除文件,不能直接删除,应该选择svn菜单中的delete。
然后再选择提交。

4.  update

检查仓库, 让本地目录和仓库中的文件进行同步。 一般不需要用到。

如果使用工具删除了仓库中的文件,同事也希望删除本地文件,则可以使用此操作。 如果不小心误删了本地文件,也可以用update从仓库中取出。

5.  revision
本地文件每提交一次变化到仓库,会顺序产生一个号码,可以用这个号码来进行版本跟踪。一般不需要记忆这个号码,可以通过时间和注释来进行判断


了解这些概念就可以开工了

1. 建立仓库
在合适的硬盘,不要在c盘,建立一个目录, 然后在文件管理器中右键选择目录,在菜单中tortoisesvn菜单中选择create repositroy from here. 仓库类型选 native filesystem即可,一路ok,建立好自己的仓库。



2. 提交文档到仓库

找到存放文档的目录, 在目录上用右键菜单选择 svn checkout。
在url for respository 中输入你的仓库目录。
checkout成功以后,目录会增加一个绿色的小勾。

因为是第一次checkout,所以仓库里实际并没有文件,所以需要把本地文件再提交上去。在目录选择commit,会出现一个对话框,选择对需要增加到仓库的文件,确定。

进入目录,可以看到所有提交到仓库的文件都有一个绿色小勾, 对未提交到仓库的文件或者新增的文件,可以用右键选中以后选中tortoisesvn 菜单里的add 增加,然后再使用commit确认变化。


ps,也可以使用import的方法导入到仓库中,但是之后的操作比较繁琐,所以先不介绍。

好了,基本的设置就是这样了,因为svn的仓库使用的是压缩模式,而且不同版本直接只存储有差异的部分,所以实际仓库的体积会小于原始文档的体积。比如我6g的文档svn以后大概就是3.8g左右。


可以看到toroise是集成在文件操作菜单中的,所以使用比较方便。

接下来对一些常见操作做介绍。

1. 如果提交一个新文件?

在checkout的目录里右键选择add,再选择commit即可,也可以在上级目录选择commit。
注意,为了保证你日后信息差异的方便,每次提交时请一定要填写注释信息。见下图


2. 如何提交一个修改过的文件?

修改过的文件会有一个红色的小图标, 右键选择commit即可。
注意,为了保证你日后信息差异的方便,每次提交时请一定要填写注释信息。

3. 如何比对两个版本的差异。

选择文件,右键菜单, 在tortoisesvn中选择show log。

会列出文件的所有版本信息, 同时选中2个版本,选择compare revisions。
好吧,好玩的地方出现了,如果是office文件 (word,ppt, excel) ,则会自动调用office显示对应的差异,是不是很niubility?
这是word的效果

这是ppt的效果

这是excel的效果

 
如果是文本文件则会调用内置的一个文本比对工具。

4. 如何查看版本提交历史?

可以按前述3的方法 或者直接选择revision graph 可以以图形的方式看到文档的版本变更路径

5. 如何让本地文件更新为一个特定历史版本?

选择文件,右键菜单, 在tortoisesvn中选择upate to revision;再选择show log,选中感兴趣的版本就好了。


6. 如何直接查阅库中的文件?

随意打开一个文件浏览器, 右键选择tortoise svn -> repo-browser. 在url for repository中输入仓库文件所在目录。

可以在弹出的窗口里完成 查找, 版本比对, 获取特定版本文件, 删除仓库文件等操作。


7. 如何备份仓库文件

直接备份仓库文件的目录即可。 恢复的时候直接覆盖原目录,或者新建立一个目录在浏览的时候设定使用此目录即可。

也可以把仓库文件直接刻录在光碟上,查阅的时候直接用repo-browser浏览即可。



8 其他
本地目录有个绿色的小勾表示该目录是从仓库中的某个目录checkout的, 如果有红色的感叹号,则表示目录中有新增的文件或者修改以后未提交。
如果提交失败,一般选择菜单中的clean 或者先update一下即可。


其他更详细的操作可以参看海龟的帮助。另外建议再安装一个google的desktop,这样可以方便做全文检索。