Git(1)/Git简介

来源:互联网 发布:任天堂vb用电池的吗 编辑:程序博客网 时间:2024/06/05 06:24
  • 几个问题:
    1. Git是什么?
      Git是目前世界上最先进的分布式版本控制系统
    2. 什么是版本控制系统?
      在使用文本编辑器时,我们会做出很多修改。每次修改时,我们往往都会保留一个副本,以免遗漏修改过的信息。但是时间一久,往往自己也找不到想找的文件在哪里。这个时候,我们就希望有一款软件能够记录下编辑文本时所做的每一次修改,这就是我们所说的版本控制系统。
      再比如,你有一个同事。现在你们两个人同时对一个文件进行了修改,之后你想合并两个文件,并且找出你和你的同事在哪里对原文件进行了修改。这个时候,能帮助你的就是版本控制系统了。

  1. Git的诞生
    Linux是强大的服务器系统软件,它的壮大是全世界的热心志愿者努力的结果。这个时候就有了一个问题:如何管理Linux的代码?
    实际上,2002年以前,Linux的源码管理是Linus手动完成的。在当时,存在集中式版本控制系统。比如:cvs,svn。但是由于集中式版本控制系统速度慢,没有网就无法工作等缺点以及付费使用的模式,遭到Linus的反对。之后,BitKeeper公司免费让Linus使用他们的版本控制系统。但是Linux社区的一些人想要破解BitKeeper的协议,并且被BitKeeper公司的人发现了,于是Linus就不能再免费用BitKeeper了。
    这个时候,Linus自己动手写了一个版本控制系统。就是我们今天要讲的Git。

  2. 集中式版本控制系统 vs 分布式版本控制系统

    • 区别
      • 是否存在“中央服务器”
        • 集中式版本控制系统,版本库是集中存放在中央服务器的。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
        • 集中式版本控制系统最大的毛病就是必须联网才能工作,如果网络慢,直接导致无法工作。
        • 分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了。直接克服了集中式版本控制系统的缺点。并且安全性也大大提高。
        • 注意:分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。因为如果两台电脑不在一个局域网内,则两者互相访问不了,这个时候就没办法互相推送修改了。
    • 是否有分支管理
      • Git有极其强大的分支管理,把SVN等远远抛在了后面。
  3. 一些常见的集中式&分布式版本控制系统

    • 集中式
      • CVS
      • SVN
      • IBM 的 ClearCase
      • VS 中的 VSS
    • 分布式
      • Git
      • BitKeeper
      • Mercurial
      • Bazaar

    当然这其中最强大的就是Git了。

0 0