Git学习笔记(第1章):Git概述

        Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。

        Git易于学习占地面积小性能极快。它具有廉价的本地库方便的暂存区域多个工作流分支等特性。其性能优于Subversion、CVS、Perforce 和 ClearCase等版本控制工具。

Git学习笔记(第1章):Git概述_第1张图片

1.1 版本控制

1.1.1 何为版本控制

        版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。

        版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本方便版本切换

Git学习笔记(第1章):Git概述_第2张图片

1.1.2 为什么需要版本控制

        个人开发过渡到团队协作。

Git学习笔记(第1章):Git概述_第3张图片

1.1.3 版本控制工具

集中式版本控制工具:CVS、SVN(Subversion)、VSS……

  • 特点:集中化的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新的文件。多年以来,这已成为版本控制系统的标准做法。
  • 优点:每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。
  • 缺点中央服务器的单点故障
    • 如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

Git学习笔记(第1章):Git概述_第4张图片

分布式版本控制工具:Git、Mercurial、Bazaar、Darcs……

  • 客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。
  • 解决了集中式版本控制系统的缺陷:
    • 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
    • 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

Git学习笔记(第1章):Git概述_第5张图片

1.2 发展历史

Git学习笔记(第1章):Git概述_第6张图片

  • 1991年:Linux系统发布
    • Linus Torvalds于1991年首次发布了Linux内核。在最初的日子里,Linus通过手动合并代码来管理版本。这种手动合并的方式在项目逐渐庞大时变得不够高效,促使了后来对版本控制系统的需求。
  • 2002年:BitKeeper开源版本控制系统
    • BitKeeper是一个分布式版本控制系统,由BitMover公司开发。在2002年,BitKeeper提供了免费的开源版本供Linux内核社区使用。Linux社区开始使用BitKeeper来管理代码版本,提高了开发效率。
  • 2005年:BitKeeper的争议和Git诞生
    • 在使用BitKeeper的过程中,发生了一些争议。BitMover公司收回了Linux社区的免费使用权,这促使了Linus Torvalds开始寻找替代方案。
    • Linus Torvalds在Linux内核开发过程中感受到BitKeeper版本控制系统的限制,于是决定开发一个新的版本控制系统。他在2005年创建了Git,并在Linux社区中推广使用。
  • 2005-2007年:Git的早期阶段
    • Git在Linux社区中迅速流行起来,并被其他开源项目广泛采用。Git的分布式特性、性能和灵活性使其成为许多开发者的首选版本控制系统。
  • 2008年:GitHub成立
    • GitHub是一个基于Git的代码托管平台,于2008年成立。GitHub的出现极大地促进了Git的普及,为开发者提供了方便的协作和社交工具。
  • 2012年:GitLab成立
    • GitLab是另一个代码托管平台,也于2012年成立。与GitHub不同,GitLab提供了一个开源的自托管选项,使得组织可以在自己的服务器上部署GitLab。
  • 2016年:Microsoft收购GitHub
    • Microsoft在2018年收购了GitHub,这一举动引起了一些开发者的担忧,但同时也表明了对开源社区的承诺。GitHub继续保持独立运营。
  • 其他发展
    • Git一直在不断发展,通过不断的更新和改进来满足不断变化的开发需求。社区中有很多贡献者为Git的发展做出了重要的贡献。

1.3 工作机制 

Git学习笔记(第1章):Git概述_第7张图片

1.4 代码托管中心(远程库)

        代码托管中心是基于网络服务器的远程代码仓库,一般简称为远程库。

  • 局域网:GitLab
  • 互联网
    • GitHub(外网)
    • Gitee 码云(国内网站)

你可能感兴趣的:(Git,GitHub,Gitee,GitLab,git,学习,笔记)