我写这篇文章的目的,是要推荐一篇关于git的入门介绍。我承认,我看过的git文档绝对不算多,但是,下面的这篇10+页的文章是我看过的最好的讲解最清晰最容易上手的git tutor。希望需要学习git以及希望了解并开始尝试版本控制系统的人,也可以像我一样从中获益(当然,我想什么东西都最好是配合man一起看):

http://www.maycode.com/index.php/docman/doc_download/304-git.html

好,正事干完了。下面,我来讲讲我接触版本控制系统的过程。

我接触版本控制的时间很短。前段时间,兼职的项目需要4个人同时开发一段代码,开始都是用的代码打包群发,以及一些diff和patch,后来发现这样问题很多,经常碰到更新了别人的代码后,自己的代码不能使用了,后来一看,是别人无意识中改动了自己修改过的代码。要知道,经常要收到带有代码附件打包的邮件是有点让人恶心的事情……

之后,开始使用cvs,它可以多个人同时修改代码,只要修改的代码没有重叠,会自动进行merge。同时,每个人修改了一段代码后,都可以用一段文字comment进行简单的描述,和代码的修改一同保存在服务器上,这样当我们看到别人的comment,便可以方便的知道别人的工作内容,以及是否会影响到自己。

cvs让我觉得,世界真美好。这就是程序员的感觉吧,虽然我不是一个程序员。

但是,cvs是把所有信息保存在服务器的,而我们的服务器羞涩的掩藏在一个SUHO路由后边,是用一个花生壳临时搭起来的,因此连接不上就成了最让人头疼的事情。每次做一个cvs diff都要等上一会,有些小不爽。

再之后,发现了git。

git让我觉得,世界还可以更美好一点么?!

我这个门外汉就不扯蛋git的基础知识了,git可以完成一般版本控制系统可以完成的事情,同时,它的repository是在本地的,比如在做git diff的时候,就不用不远万里跑到remote server上去取测试样本了。而本地化就是我更加倾向于使用git的原因。其实,我们的很多东西,哪怕是自己写的任何文档和代码,都是可以用版本控制进行维护和管理的,但是如果我们要使用cvs,就要先搭建一个本地的服务器;同时,服务器上的管理信息是和真实的文档分离的。git去除了服务器的麻烦,并让控制信息和文档呆在同样的地方,可以更加方便我们进行日常的使用和备份。

版本控制系统,让我们在计算机上的文本更加整洁,

git是一个简单易用的无须搭建服务器的版本控制系统,

So, let's our lives be tidier with git.