Git基本概述

发布时间 - 2026-01-10 22:45:51    点击率:

大致介绍

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,可以有效、高速的处理从很小到非常大的项目版本管理。

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

Git的诞生

Git是由Linus编写的,这个名字应该不会陌生,著名的Linux就是Linus的杰作!(厉害的人干啥都厉害),虽然Linus创建了Linux,但是Linux的壮大是由全世界热心的参与者共同努力的结果,而在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!

可想而知Linus的心有多累,但在2002年Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统

但是由于某种原因BitMover公司在2005年收回了Linux社区的免费使用权。然后Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!(厉害的人干啥都厉害)

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

版本控制

◆ 本地版本控制系统

◆ 集中化的版本控制

◆ 分布式的版本控制

本地版本控制系统

大多的本地版本控制系统都是采用某种简单的数据库来记录文件的历次更新差异

集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )

集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

集中式版本控制系统有几个明显的缺点:

1、如果遇到中央服务器故障,那么谁都无法进行提交,也就无法进行协同工作

2、必须联网进行操作

分布式的版本控制系统( Distributed Version Control System,简称 DVCS )

客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。

分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# Git  # Git基本常用命令  # 在Linux下搭建Git服务器步骤  # GIt的基本操作详解  # git拉源码maven构建后部署脚本详解  # Git 命令详解及常用命令整理  # 阿里云Linux-CentOS系统下-搭建Git服务器详解  # CentOS 最新版本git的安装教程  # Git 命令使用技巧提供工作效率  # Git里多种撤销操作的最佳方法  # Git fetch和pull的详解及区别  # 控制系统  # 自己的  # 都是  # 的人  # 是一个  # 开源  # 每个人  # 是由  # 镜像  # 上都  # 改了  # 干啥  # 协同工作  # 集中式  # 就在  # 尤其是  # 也就  # 你要  # 世界各地  # 就不 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何用wdcp快速搭建高效网站?  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  如何有效防御Web建站篡改攻击?  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  桂林网站制作公司有哪些,桂林马拉松怎么报名?  js实现点击每个li节点,都弹出其文本值及修改  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何正确选择百度移动适配建站域名?  黑客如何通过漏洞一步步攻陷网站服务器?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Android利用动画实现背景逐渐变暗  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Laravel如何实现API版本控制_Laravel版本化API设计方案  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何登录建站主机?访问步骤全解析  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  如何快速登录WAP自助建站平台?  网站制作价目表怎么做,珍爱网婚介费用多少?  Laravel如何实现多对多模型关联?(Eloquent教程)  Laravel如何自定义分页视图?(Pagination示例)  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Laravel如何实现模型的全局作用域?(Global Scope示例)  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  如何做网站制作流程,*游戏网站怎么搭建?  如何在景安云服务器上绑定域名并配置虚拟主机?  如何快速重置建站主机并恢复默认配置?  如何快速搭建自助建站会员专属系统?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何在橙子建站中快速调整背景颜色?  如何用狗爹虚拟主机快速搭建网站?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  大连网站制作公司哪家好一点,大连买房网站哪个好?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  在Oracle关闭情况下如何修改spfile的参数  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Laravel怎么调用外部API_Laravel Http Client客户端使用  IOS倒计时设置UIButton标题title的抖动问题  JavaScript如何实现继承_有哪些常用方法  如何在VPS电脑上快速搭建网站?  iOS中将个别页面强制横屏其他页面竖屏  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?