Fork me on GitHub

git学习(01) git的概念及相关介绍

git的定义

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

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

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

 

版本控制(Revision Control)

是在开发过程中用于管理文件修改历史,方便查看和备份。

它的作用如下:

  • 实现跨区域多人协同开发。
  • 追踪和记载一个或者多个文件的历史记录。
  • 组织和保护你的源代码和文档。
  • 统计工作量。
  • 并行开发、提高开发效率。
  • 跟踪记录整个软件的开发过程。
  • 减轻开发人员的负担,节省时间,同时降低人为错误。

简单说就是用于管理多人协同开发项目的技术。

常见的产品

主流的版本控制器如下:

  • Git
  • SVN(Subversion)
  • CVS(Concurrent Versions System)
  • VSS(Micorosoft Visual SourceSafe)
  • TFS(Team Foundation Server)
  • RCS(GNU Revision Control System)

除了这些主流的产品,还有一些其他的产品:

  • Visual Studio Online
  • Perforce
  • Rational ClearCase
  • Serena Dimention
  • SVK
  • BitKeeper
  • Monotone
  • Bazaar
  • Mercurial
  • SourceGear Vault

现在影响力最大且使用最广泛的是 Git 与 SVN

SVN 由于其局限性,近年来的地位已经慢慢被 Git 所取代,现在 Git 是世界上最先进的分布式版本控制系统

分类

本地版本控制

记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用。

代表产品:RCS

集中版本控制

所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。

所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本。

如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。

而且,所有数据都保存在单一的服务器上,如果这个服务器损坏,就会丢失所有的数据,需要定期备份。

代表产品:SVNCVSVSS

分布式版本控制

所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史。

在没有网络的情况下,可以离线在本地提交,只需在连网时推送到相应的服务器或其他用户那里。

由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据。

不会因为服务器损坏或者网络问题,造成不能工作的情况,极大的降低了风险。

代表产品:Git

Git 与 SVN 区别

SVN 是集中式版本控制系统,版本库是放在中央服务器的。

工作的时候,首先要从中央服务器得到最新的版本,完成工作后,需要把自己做完的活推送到中央服务器。

集中式版本控制系统是必须联网才能工作,且对网络带宽要求较高。

Git 是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库。

工作的时候不需要联网,因为版本都在自己电脑上。

待有网络后,把本地的版本推送到远程即可。

 

历史

同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。

一切始于 Linux 的维护,众所周知,Linux 内核开源项目有着为数众多的参与者。


1991-2002 年间,绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上。

由于提交的内容繁多,这些工作是非常痛苦的。


到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

在这期间,Linux 社区中很多的大佬破解研究 BitKeeper。


到 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用的权力。

这就迫使 Linux 开源社区开发出自己的版本系统。

Linux 的缔造者 Linus Torvalds 花了两周左右的时间,开发出了 Git

 

reference

www.kuangstudy.com/bbs/1490863647927767042

Git最新教程通俗易懂_哔哩哔哩_bilibili

posted @ 2022-08-15 09:49  走位,走位  阅读(71)  评论(0编辑  收藏  举报