在OS X上搭建个人文件版本管理系统

Posted by The Drunkard's Walk on April 30, 2016

什么样的人需要进行文件版本管理?

不是所有的人都需要在自己的电脑上搭建一个版本管理系统的,如果你对下面几个问题的回答是Yes的话,就不用继续看下去了:)

  1. 我不需要用电脑编辑个人文档
  2. 我不在乎自己的文件修改,反正没什么价值,丢了再写一次就是了
  3. 每次修改之前,我都做了一个备份,所以我的电脑上有abc20141115.docabc20151120.docabc20151213.docabc20151226.doc……
  4. 我所有的文件都托管在公司的服务器和公共云上
  5. 我不懂什么叫SVN
  6. 我用的是Windows,而且只喜欢用VSS来管理

准备

我假设你用的系统是OS X或Linux,当然这里介绍的方式也可以在Windows上运行,但是需要先安装SVN Server的Windows版本。

下面的步骤都是在终端中运行的几个操作,所以我假设你知道基本的shell命令,例如lsmkdir

搭建步骤

  1. 先临时创建一个名称有意义的目录骨架,例如姓名或工作室是比较合适的名字
mkdir ~/Jason_Documents
mkdir ~/Jason_Documents/Word
mkdir ~/Jason_Documents/Excel
mkdir ~/Jason_Documents/PPT
mkdir ~/Jason_Documents/Code
  1. 创建svn的知识库(repository)目录。小贴士:我为了利用云备份,将这个目录创建在微云的同步目录下
mkdir ~/微云同步盘/svnroot
svnadmin create ~/微云同步盘/svnroot/repository
  1. 导入目录骨架到知识库中,完成后删除临时目录骨架,注意下面的xxxxx是你自己的个人目录名称
svn import ~/Jason_Documents file:///Users/xxxxx/微云同步盘/svnroot/repository -m "Initial import"
rm -rf ~/Jason_Documents

好了,知识库已经搭建完毕,已经可以开始使用了,怎么就这么几步,好像还没过瘾

使用方法

在电脑合适的目录下通过svn checkout的方式将目录骨架签出

svn co file:///Users/xxxxx/微云同步盘/svnroot/repository ~/Documents/mywork

这个时候,就会在mywork的目录下出现我们开始创建的Jason_Documents的目录骨架,将你需要进行管理的文件放到对应的目录下,签入即可。 例如这里我把一个Notes目录拖到Jason_Documents目录下,然后执行添加和签入。

cd ~/Documents/mywork/Jason_Documents
svn add Notes
svn ci -m "把我所有的笔记放入知识库管理"

看看实际工作效果是怎样的吧

其他

有了SVN管理之后,再也不担心文件被误删除或是错误保存,当然这里不用SVN用Git也是可以的,只是我考虑到个人电脑上并不存在太多人同时修改一个文件的情况,所以SVN已经是足够使用。