GIT简介

本文介绍了GIT,它是目前最常用、先进且开源的分布式版本控制系统,由Linus用C语言编写,最初用于管理Linux源码。同时对比了分布式和集中式版本控制系统,集中式需联网且依赖中央服务器,而分布式开发者电脑即完整版本库,联网与否不影响工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、什么是GIT?

首先对很多只闻其名的初学者来说,第一个疑惑就是:什么是GIT?

GIT可以说是目前世界上用的最多的、最先进的、最火的分布式版本控制系统了,而且还是开源的。

GIT是由Linus花了两周时间自己用C写了一个分布式版本控制系统,当初只是用来管理Linux系统的源码的。后来随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git 变得非常好用,再加上GitHub网站上线了,为开源项目免费提供Git存储,使得Git迅速成为最流行的分布式版本控制系统。

那么什么是分布式版本控制系统呢?别着急,往后看。 

2、分布式VS集中式

什么是分布式版本控制系统呢?我们把分布式与集中式对比着讲,更容易理解。

集中式,顾名思义就是有一个服务器集中的存放版本库。在开发的时候呢用的是各自的电脑,首先要(从服务器,也就是版本库)获取最新的版本;然后在进行开发;开发完成之后,再提交代码。

集中式版本控制系统必须联网才能工作,这也是它最大的缺点,局域网内的网速快的话还可以接受,可如果网速慢的话,这个体验就会很难受了。集中式版本控制系统还有一大缺点就是:如果中央服务器坏了,开发者将无法再提交修改,开发者之间也无法再协作。

常用的集中式版本控制系统有CVS和SVN。

那么,分布式版本控制系统有什么什么样的呢?

首先,分布式版本控制系统没有“中央服务器”的概念。每一个开发者的电脑上都是一个完整的版本库,因此开发者可以提交到本地,也因此开发者的电脑联网与否都不影响工作了。

每个开发者电脑上都有一个完整的版本库,那么多个开发者之间是怎么协作呢?比方说开发者A在自己电脑上改了常量类文件Const.java,他的同事也在自己的电脑上改了Const.java文件,这时,他们俩只需把各自的修改推送给对方,就可以互相看到对方的修改了。但是,在实际的开发中,各个协作者之间一般是不会相互之间直接推送、拉取文件的,因为种种原因吧,可能你的同事出差或者请假了,这时候两协作者之间直接推送、拉取是不可行的,因此,通常有一台电脑充当“中央服务器”,这个服务器仅仅是用来方便“交换”协作者之间的修改。

常用的分布式版本控制系统就是本文提到的GIT。

下面看一个表格,分布式与集中式版本控制系统的比较:

 
 分布式(GIT) 集中式(SVN)
中央服务器一般有充当“中央服务器”的电脑,开发人员本地都有版本库。有。开发人员必须依赖中央服务器才能协作。
网络依赖分布式在没有网络的情况下除了push操作不能之外其余的操作基本都可以,在有网络的情况下才能执行 push操作。必须要联网才能工作。
安全方面相对高相对低
体验方面速度快、灵活、离线工作、冲突易解决速度相对慢、联网工作、处理冲突相对繁琐
文件存储格式按照元数据方式存储,体积小。按照原始文件存储,体积较大。
是否有版本号没有全局版本号
分支操作的影响可在本地随便创建分支,不影响其他开发人员影响中央服务器的分支。
提交操作先提交到本地,然后push到远程仓库直接提交到中央服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值