久违的阳光暂时将初冬的寒意挡在身后,萧俊逸如往常一样来到知春大厦,刚刚走出电梯,就听到公司里嘈杂的争吵声,顿时皱起了眉头。
“里面怎么回事?”萧俊逸向坐在前台的向玲问道。
“萧总,我也不太清楚,好像是技术部那边,说是硬盘坏了。”向玲含含糊糊的回答。
“硬盘坏了?一块硬盘又不是什么大不了的事,不至于吵起来啊。难道是服务器的?”萧俊逸一边往里走一边在琢磨。
技术部的办公室里,大家看到萧俊逸进来,顿时间就安静了下来,大家都耷拉着脑袋,像是在等待审判的犯人。
“说说吧,怎么回事?”萧俊逸问道。
果然就如萧俊逸猜测的那样,服务器的硬盘挂了。按理说不应该啊,周五下班前还好好的。
萧俊逸给物业打了个电话才确定大厦的电路昨天出了点问题挑过几次闸。可能就是因为这个原因导致的。
其实在接手公司的时候萧俊逸就发现了服务器没有配u(不间断电源),只是习惯了前世稳定的电网服务,也没在意,加上后来忙了起来把这个事给忘了。没想到今天吃了个大亏。
萧俊逸拆下硬盘,找了一家数据恢复公司,还好盘片没有损坏,很顺利的导出了数据。
问题算是解决了,虚惊一场。但是萧俊逸心里却在感慨,要是有git就好了。
所谓git,就是版本控制系统的一种。
而版本控制系统,它能管理程序员对文件、目录或工程等内容的修改,方便查看历次修改的记录,同时还可以恢复到之前的任一次修改的版本,后来又实现了跨区域的多人协同开发。
整个版本控制系统的发展历史可以分为本地版本控制系统、集中式版本控制系统以及分布式版本控制系统三个阶段。
很早的时候,程序员习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。尽管这么做很简单,但是特别容易犯错。有时候会弄混目录,一不小心会改错文件或者覆盖掉意想之外的文件。
为了解决这个问题,有人就开发了本地版本控制系统,采用简单的数据库来记录文件的历次更新差异,分别找回某次修改之前的文件。
随着项目越来越大,已经不是一个人就能完成的,那么如何让多个开发者在一个项目上实现协同工作?
于是,集中式版本控制系统应运而生。其中最为出名的就是2000年诞生的svn,直到萧俊逸重生前还有无数的人和公司在使用这套系统。
而此时主流的还是迪克·格伦在1986年开发的cvs系统。
这种集中式版本控制系统将所有历史数据都保存在一个单一的服务器里,开发人员通过客户端连到这台服务器,取出最新的文件或者提交更新。
萧俊逸给自己公司部署的也是这个cvs系统,只不过包括邱茂学在内的国内绝大多数程序员普遍习惯的还是单打独斗,没有什么团队开发的经验,对于版本控制系统还没有完全适应,也没有做好备份的工作。