分享好友 最新动态首页 最新动态分类 切换频道
Git版本控制工具--介绍及安装
2024-12-27 01:28

Git是目前世界上最先进的的分布式控制系统(没有之一)。

Git版本控制工具--介绍及安装

很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。

Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢

事实是在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码

你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。

不过到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。

安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个,被BitMover公司发现了(监控工作做得不错,于是BitMover公司怒了,要收回Linux社区的免费使用权。

Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。

Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

2.1.1 集中式版本控制系统

集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )。这类系统,诸如 CVS,Subversion 以及 Perforce ,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出一部分最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法(见下图1)。只有在服务器上保存着完整版本

这种系统的缺点中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,而被客户端偶然提取出来的保存在本地的某些快照数据就成了恢复数据的希望。但这样的话依然是个问题因为每个客户端可能只有一部分文件,而所有客户端的一部份文件合并起来可能不完整你不能保证所有的数据都已经有人事先完整提取出来过。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险。

2.1.2  分布式版本控制系统

分布式版本控制系统( Distributed Version Control System,简称 DVCS 会把服务器上的代码仓库完整地镜像下来。这样每个人的电脑上都有一份完成的服务器代码仓库的镜像,任何一处协同工作用的服务器发生故障,事后都可以用个人的电脑上的镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份(见下图2。我们可以看到电脑A与电脑B与服务器上的版本内容完全一致

2.2.1 直接记录快照,而非差异比较

Git 和其他版本控制系统的主要差别在于Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。这类系统(CVS,Subversion,Perforce,Bazaar 等等)每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容,请看下图。

其他系统在每个版本中记录着各个文件的具体差异

Git 并不保存这些前后变化的差异数据。实际上Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。Git 的工作方式就像图 4 所示。

Git 保存每次更新时的文件快照

在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。但如果用 CVCS 的话,差不多所有操作都需要连接网络。因为 Git 在本地磁盘上就保存着所有当前项目的历史更新,所以处理起来速度飞快。

举个例子,如果要浏览项目的历史更新摘要

Git 不用跑到外面的服务器上去取数据回来,而直接从本地数据库读取后展示给你看。所以任何时候你都可以马上翻阅,无需等待。如果想要看当前版本的文件和一个月前的版本之间有何差异,Git 会取出一个月前的快照和当前文件作一次差异运算,而不用请求远程服务器来做这件事,或是把老版本的文件拉到本地来作比较。

在是否需要联网处理方面

用 CVCS 的话,没有网络或者断开 VPN 你就无法做任何事情。

但用 Git 的话,就算你在飞机或者火车上,都可以非常愉快地频繁提交更新,等到了有网络的时候再上传到远程仓库。同样,在回家的路上,不用连接 VPN 你也可以继续工作。

换作其他版本控制系统,这么做几乎不可能,抑或非常麻烦。比如 Perforce,如果不连到服务器,几乎什么都做不了(译注:默认无法发出命令 p4 edit file 开始编辑文件,因为 Perforce 需要联网通知系统声明该文件正在被谁修订。但实际上手工修改文件权限可以绕过这个限制,只是完成后还是无法提交更新。

如果是 Subversion 或 CVS,虽然可以编辑文件,但无法提交更新,因为数据库在网络上。看上去好像这些都不是什么大问题,但实际体验过之后,你就会惊喜地发现,这其实是会带来很大不同的。

Git支持Linux、Windows和Mac系统,安装Git,可以到Git官网直接下载安装程序。

这里我们使用Git-2.38.1-64-bit.exe进行下载安装

下面是安装教程

点击“下一步”

勾选上新功能,添加Git Bash到Windows终端

选择第一个,点击下一步(新功能可以进行后期添加

选择第一个,点击下一步

点击下一步

点击安装

Git Bash安装完成

取消下面这一界面的所有勾选

点击“Finish”

点击鼠标右键-->显示更多选项

出现以下两个选项

在命令行输入


最新文章
小红书KOL营销是什么,小红书KOL资源服务平台
KOL营销有什么魔力,让广告主捧着钱都想找来代言呢?互动营造信任KOL 平日与粉丝的互动性较高,除了留言回答问题外,还会专门为粉丝做出客制化的内容。时间长久下来,彼此的联系也一直积累,粉丝们会更喜爱、信任这名KOL,粉丝的黏着度相当
全方位SEO工具包下载,助力网站优化,直击搜索引擎排名提升
提供全面的SEO工具下载资源,帮助网站进行有效优化,提升在搜索引擎中的排名,助力网站流量增长。随着互联网的快速发展,搜索引擎优化()已经成为网站不可或缺的一部分,为了帮助广大站长和SEO从业者更好地进行,市场上涌现出了各种各样的
必看教程“微信小程序微乐锄大地辅助神器开挂”(原来真的有挂)-知乎
您好,微信小程序微乐锄大地辅助神器开挂这款游戏可以开挂的,确实是有挂的,通过微信【】很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上
【ESG动态】爱玛科技(603529.SH)获华证指数ESG最新评级A,行业排名第7
日前,华证指数公布了新一期(2024年10月31日)的ESG评级结果,爱玛科技(603529.SH)获得A评级(华证指数评级为C起至AAA九档,C为最低档,AAA为其最高一级评级/AA为其第二档),上一期(2024年7月31日)ESG评级为AA。本期ESG评级在227家汽
网站编辑必看!百度快速收录教程大揭秘,让你的网站迅速冒尖
身为网络编辑,每日皆需审阅诸多类型之网站。既有悠久历史的巨头公司,亦含崭露头角的后起之秀。然无论何种性质之网站,其终极目标皆为令百度迅捷收录。百度快速收录带来的机遇首先,解析为新站点的百度快速收录之重要影响。作为新站点,实
秘密教学漫画
秘密教学漫画是一款拥有非常强大、稳定的漫画搜索引擎支持的漫画阅读软件,还可以在主页的搜索框中输入相应的关键字,以找到更多好看、热门的连环画资源,并且全是高清的、正版的漫画资源,还有大量的漫画、福利漫画等你来自由阅读,感兴趣
超逼真美女写真一键生成,揭秘AI画图的最新神器与实用技巧!
访问搜狐简单AI平台:直接搜索微信小程序“搜狐简单AI”,或者在线观看网页版本。注册并登录:新用户可以快速注册,老用户直接登录即可。选择生成选项:进入主界面后,找到“美女写真”选项,点击进入。输入描述:你可以根据自己的需求,输
揭秘苹果SEO策略,助力企业登顶市场高峰
本文深入解析苹果SEO策略,从关键词优化、内容创作、链接建设等方面阐述如何提升苹果产品在搜索引擎中的排名,助力企业抢占市场先机,实现线上营销目标。通过掌握苹果SEO核心技巧,企业可以提升品牌影响力,吸引更多潜在客户,实现业绩增长
超长待机智能手机有哪些?最新超长待机智能手机推荐
  导语:在我们日益追逐手机的外观和屏幕尺寸的时候,手机电池的续航能力也逐渐的暴漏出来,尤其是智能手机,单吃的续航能力更是前所未有的差,一方面也是因为智能手机索要运行的程序比较多,另一方面手机的屏幕大也就造成了手机的电池不
热捧人工智能需防泡沫
“十大职业的终结者”“划时代意义的应用”……似乎在一夜之间,ChatGPT家喻户晓,成为当下最热门的话题之一,吸金无数。 ChatGPT概念的走红,背后有相应的技术支撑和社会对人工智能的现实需求,也少不了资本的推波助澜。相关数据显示,1月
相关文章
推荐文章
发表评论
0评