Blog Email GitHub

20 Jun 2010
Git初学习

今天细细琢磨了一个git。git很火,慢慢会流行起来。git有什么特点,能够在众多版本管理系统中杀出一条血路呢?这是git官网对于git的介绍:What is git?

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do.
Git is used for version control of files, much like tools such as Mercurial, Bazaar, Subversion, CVS, Perforce, and Visual SourceSafe.

所以先可以得出git有两个特点:

  • 快,据说比小李飞刀还快。我想git快,其中一个原因还是和git的分布式分不开,因为很多情况下不需要在网络环境中进行,本地就OK。一部分的原因是因为git是建立来用在linux核心上的,这表示git从一开始就必须有效率的处理非常大的repository。此外git是采用c写的,减少了使用其他高级语言在执行器的开销。
  • 分布式。git是分布式SCM,每个开发者本地都有一套git库,每个人都维护自己的版本(或者合并其他人的版本)。这样带来的好处就是:离线情况下也能做好版本控制,不用时刻连网,随时随地coding。另外,分布式的SCM更加健壮,不像SVN,服务器一挂掉,后果不堪设想。

Git当然还有很多优点:

  • 强大的branch和merge的能力
  • 操作更加简洁、方便

bzr最慢,cvs太老,svn主流,git新潮。今天看文档,觉得学习git的确比其他版本控制,更难些。但是这个怎能阻止我的步伐?

参考:
http://hilbert.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=BlogPart&partqs=cat%3Dgit
http://wiki.guoshuang.com/Git_svn_%E6%AF%94%E8%BE%83
http://blog.csdn.net/colorant/archive/2008/10/31/3193820.aspx
http://www.robinlu.com/blog/archives/191
http://markmcb.com/2008/10/18/3-reasons-to-switch-to-git-from-subversion/