什么是SVN(subversion)?
有一个简单但不十分精确的比喻:SVN = 版本控制 + 备份服务。
简单的说就是,你可以把SVN看做一个备份服务器,但是更好的是,他可以帮助记住每一次上传的版本,并且自动的赋予每次的变更版本。
通常,我们称用来 存放上传上传档案的地方就叫做repository,意思跟档案库差不多。通常我们用repository这个名词。基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到repository上面,日后我们每次有修改的时候,都可以上传到repository上面,上传已经存在且修改了的档案叫做commit,也就是提交修改给SVN server的意思。针对每次的commit,SVN server都会赋予他一个新的版本,同时也会把每次上传的版本记录下来。以后如果因为某些因素需要从repository上面下载曾经提交过的档案,我们可以取得最新的版本也可以取得以前的版本。如果忘了是哪个版本,还可以靠记忆尝试取得某个日期的版本。
为什么要用SVN?
1.前文说SVN也是一个版本控制器,版本管控是非常重要的。我们不能保证自己做的工作永远都是正确的,当我们在电脑上做一件事情的时候,很有可能突然发现自己走的路是错误的,这个时候就需要找到那个我们错误的选择道路的岔路口。而我相信99.9%的人都无法记得所有自己做过的工作。这时候有了版本控制,最差的情况也就是全部重来。
2.首先前文说过,SVN是个备份服务器,计算机工作者来说,计算机文件备份也是十分重要的。我们永远不知道计算机硬盘会在什么时候坏掉,一旦硬盘坏掉,将会是非常头疼的。甚至会给个人带来很大的损失。
3.如今信息世界,人与人之间的交流越来越密切,而人与人之间信息传递越来越频繁。当我们是一个团队一起工作完成一件事情的时候,队友做的材料对自己来说也是非常重要的,这时候如果想要从队友那里拷出来文件我们要怎么做?那U盘去拷贝啊?那这效率也太低了。SVN提供了一个信息共享的平台,只要同在一个项目中,我们即可以下载队友上传的文档。
如何使用SVN?
首先我们要创建一个taocode的账号
注册好了之后我们将看到这个界面:
我们要先创建一个新的项目,点击新建项目将会看到:
这些步骤都是很简单我们也很熟悉的。创建好了之后就会自动出来一个trunk的文件夹。即是主干,也就是主要版本:
在taocode上的设置我们算完成了,操作也很人性化。下面我们开始在自己的windows上配置SVN了。
我们可以创建一个文件夹,用来跟taocode上的项目同步,比如创建目录为F:Linux文件svn est,进入之后右键->SVN checkout会出现:
点击OK之后我们既可以将自己windows下的路径与taocode建立同步了。当我们的文件需要上传的时候,第一次需要右键->tortoise->add,出现如下界面:
这时候我们要勾选需要添加的文件,然后点击OK。然后再右键->SVN commit即可。之后再需要上传的时候只需要点击SVN commit,出现如下:
更新档案及目录
为何要去更新?绝大多数情况下一个项目是由许多人一起完成的,所以同一个档案可能还会有其他人去编译,为保证我们的文件进度跟repository上面的是同步的,我们要及时的更新文件:右键->SVN update。
正常的状况下,我们可以看到如上的窗口。在这个窗口中会显示有哪些文件更新了。如果没有看到档案更新的相关信息,这表示您的目录中的档案已经是最新的,所以无须进行更新。
更新至特定版本
有时我们需要回溯至某个特定的版本,这时候我们就需要用到update to revision:右键 -> tortoise SVN -> update to revision,将出现下图:
在这个Update窗口中,我们可以选择更新到最新版本(HEAD)。也可以选择更新到某个指定的版本(Revision)。当然,我们可能早就记不起来正确的版本号码。可能只隐约的记得大概在什么时间。没关系,按下Show log按钮,我们就可以回顾历史了。