Git 教程

Git 教程

Git 是一个开源的分布式版本控制系统。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。


1. 什么是版本控制系统

版本控制系统用来记录一个或若干文件内容变化,以便将来查阅特定版本修订情况。

 

2. 版本控制系统的分类

1)集中化的版本控制系统

集中化的版本控制系统,诸如 CVS,SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人通过客户端连到这台服务器,取出最新的文件或者提交更新。

集中化的版本控制系统的缺点是中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录。

 

2)分布式的版本控制系统

分布式版本控制系统的客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

Git 与CVS, SVN 不同,它采用了分布式版本库的方式,不必服务器端软件支持。

 

3. Git的优势

Git 是分布式版本控制系统,这是 Git 和其它非分布式的版本控制系统 svn,cvs 最核心的区别。

分布式带来以下好处:

  • 无需联网工作
  • 首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,所以工作时无需联网,因为版本库就在你自己的电脑上。多人协作时候,只需提交各自的修改,就可以得到所有人的修改内容。


  • 代码更加安全
  • 集中式版本控制系统,一旦中央服务器出了问题,所有人都无法工作。

    分布式版本控制系统,每个人电脑中都有完整的版本库,所以某人的机器出现问题,并不影响其它人工作。

 

4. Git 资源

Git 完整命令手册地址:http://git-scm.com/docs

PDF 版命令手册:github-git-cheat-sheet.pdf