Git简介
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。
Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。
Git与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式,不用服务器端软件支持。
Git是目前世界上最先进的分布式版本控制系统,在处理各种项目时,都十分高效,而且非常的高大上。
集中式与分布式的区别:
-
最常见的集中式版本控制系统是SVN,版本库是集中放在中央处理器中的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器那里获取最新的版本,然后开始干活,干完活后需要把自己做的东西推送到中央服务器。而且集中式版本控制系统是必须联网才能工作的,一旦断网,所有人都将无法开展工作,可见集中式版本控制系统的局限性是比较大的。
-
Git是目前世界上最流行的分布式版本控制系统,它没有中央处理器,每个人的电脑就是一个完整的版本库,同时在工作的时候也不需要联网,因为版本都存储在自己的电脑上。我们随时都可以将自己在工作区间做的修改提交到本地仓库,最后将自己的本地版本仓库推送到远程版本仓库进行合并,效率非常高。
Git与SVN的区别:
| Git | SVN | |
|---|---|---|
| 核心区别 | 分布式 | 集中式 |
| 存储方式 | Git按元数据方式存储 | SVN按文件方式存储 |
| 分支 | 分支是Git的必杀技能,将Git从版本控制系统的家族中突显出来 | 分支在SVN中一点也不特别,其实它就是版本控制系统中的另外一个目录 |
| 全局版本号 | Git没有,是目前Git相较SVN缺少的最大特征 | SVN有全局版本号 |
| 内容完整性 | Git的内容存储使用的是SHA-1哈希算法,确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏 | 在这方面SVN的性能是低于Git的 |
| 安全性 | 和SVN相比,Git的每个分支都有一个完整的版本库,即使某个分支的电脑崩掉了也不要紧,可以随时从其他电脑拷贝过来 | 而SVN版本控制系统的中央服务器一旦挂掉,所有人的工作都将无法开展 |
Git的工作流程:
- 克隆Git资源作为工作目录;
- 在克隆的资源上添加或修改文件;
- 如果其他人更改,你可以更新资源;
- 在提交前查看修改状态;
- 提交修改;
- 在修改完成后,如果发现错误,可以撤回提交,并进行再次修改和提交。

Git工作区、暂存区及版本库概念:
- 工作区:自己电脑中能看到的工作目录
- 暂存区:stage或index,一般放在
.git(可隐藏文件)目录下的index文件(.git/index)中,所以我们有时候也把暂存区叫做索引 - 版本库:工作区中有一个可隐藏目录
.git,这个实际上就是Git的本地版本仓库

上图中,左侧为工作区,右侧为版本库。在版本库中被标记为“index”的区域为暂存区,被标记为“master”的是master主分支,“HEAD”实际上是指向master主分支的一个游标,“objects”标识的区域为Git的对象库,实际位于.git/objects目录下,里面包含了创建的各种对象及内容。
当工作区进行修改(或新增)的文件执行git add命令时,暂存区的目录树将被更新,同时工作区修改(或新增)的文件内容被写入到对象库(此时的对象库可以认为是暂存区中的对象库)中的一个新的对象中,而该对象的ID被记录在暂存区中的文件索引中。
当执行git commit提交命令时,暂存区的目录树就被提交到版本库中的对象库(objects)中,master主分支会做出相应的更新,即master指向从暂存区提交过来的目录树。
因为我们在创建Git版本库时,Git自动为我们创建了唯一的一个master分支,所以此刻执行git commit命令就是往master分支上提交更改。
整个过程可以简单理解为,需要提交的文件修改通通先放到暂存区,然后一次性提交暂存区的所有修改。
相关文章:
Git简介
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。 Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件。 Git与常用的版本控制工具CVS、Subversion等不同,它采用了分布式版本库的方式&#x…...
STM32入门学习之定时器输入捕获
1.定时器的输入捕获可以用来测量脉冲宽度或者测量频率。输入捕获的原理图如下: 假设定时器是向上计数。在图中,t1~t2之间的便是我们要测量的高电平的时间(脉冲宽度)。首先,设置定时器为上升沿捕获,如此一来,在t1时刻可…...
贪心算法:基础入门篇
贪心算法:基础入门篇 文章目录: 贪心算法:基础入门篇一、认识贪心算法二、常见贪心问题2.1 纸牌问题2.2 背包问题(基础版)2.3 简单数学证明问题 三、总结 一、认识贪心算法 在求最优解的问题中,以某种贪心…...
【Windows10下启动RocketMQ报错:找不到或无法加载主类 Files\Java\jdk1.8.0_301\lib\dt.jar】解决方法
Windows10下启动RocketMQ报错:找不到或无法加载主类 一、问题产生二、产生原因三、解决办法 一、问题产生 参考RocketMQ Github官网上的说明,下载rocketmq-all-5.1.3-bin-release.zip,解压配置环境变量后,执行如下命令:…...
深入篇【Linux】学习必备:进程理解(从底层探究进程概念/进程创建/进程状态/进程优先级)
深入篇【Linux】学习必备:进程理解(从底层探究进程概念/进程创建/进程状态/进程优先级) 一.进程概念(PCB/task_struct)二.查看进程(top/ps)三.创建进程(fork)四.进程状态(僵尸进程/孤儿进程)五.进程优先级(PRI/NI) 一.进程概念(PCB/task_struct) 1.什么…...
Python 潮流周刊#15:如何分析 FastAPI 异步请求的性能?
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中一则分享,不代表全部内容都是该主题,特此声明。 本周刊精心筛选国内外的 250 信息源,为你挑选最值得分享的文章、教程、开源…...
基于Java+SpringBoot+Vue的网吧管理系统设计与实现(源码+LW+部署文档等)
博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…...
redis设置database 不生效剖析
设置database 不生效剖析 前言配置加载类问题commons-pool 对象池 主页传送门:📀 传送 前言 事情是这样的 今天在拉取了同事的代码做redis缓存设置的时候,发现即使已经设置了database, 但是存数据的时候还是用的默认0数据库。这引起了我的好…...
汽车及汽车零部件行业云MES解决方案
汽配行业现状: 随着经济全球化进程加快,一直走在智能化改造,数字化转型前沿的汽车行业企业,面临的信息化需求也日益增加,不管德系,美系还是日系供应链的各大厂商,均将企业信息化,数字…...
算法工程师-机器学习面试题总结(4)
深度学习 DNN 描述一下神经网络?推导反向传播公式? 神经网络(Neural Network)是一种模拟人脑神经系统的计算模型。它由许多节点(神经元)和连接它们的权重组成,这些节点和权重可以学习和调整&a…...
Linux学习之awk函数
awk里边的函数分为内置函数和自定义函数。 内置函数有下边的几种: 算术函数(arithmetic) 字符串函数(string) 输入/输出函数和通用函数(input/output, and general) 自定义函数格式如下…...
Redis的数据结构到底是一种什么样的结构?
有了上一篇NoSQL的基础,我们也都知道了Redis就是一种典型的NoSql,那我们就先简简单单的介绍一下Redis: Redis是什么? Redis(Remote Dictionary Server)是一个开源的使用ANSI C语言编写的高性能键值存储系统…...
eclipse 导入项目js报错问题
eclipse 导入项目后会出现项目中的js文件报错(红叉),如下图所示,有时候报错的文件很多,需要集中处理。 解决办法: 右键项目名称》Properties》MyEclipse》JavaScript》Include Path,在右侧选择“…...
《HeadFirst设计模式(第二版)》第七章代码——外观模式
代码文件目录: Subsystem: Amplifier package Chapter7_AdapterAndFacadePattern.FacadePattern.Subsystem;/*** Author 竹心* Date 2023/8/8**///扬声器 public class Amplifier {int volume 0;//音量public void on(){System.out.println("The amplifier …...
前端杂项-个人总结八股文的背诵方案
个人总结八股文的背诵方案 URL到显示网页的过程 浏览器解析URL,获取协议,主机名,端口号,路径等信息,并通过DNS查询将主机名转换为对应的IP地址浏览器与服务器建立TCP,进行三次握手。浏览器向服务器发送HT…...
利用 3D 地理空间数据实现Cesium的沉浸式环境
推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 为了将大量异构 3D 地理空间数据处理和分散到各行各业的地理空间应用程序和运行时引擎,Cesium 创建了 3D Tiles,这是一种用于高效流式传输和渲染大量异构数据集的开放标准。3D Tile…...
微服务——ES实现自动补全
效果展示 在搜索框根据拼音首字母进行提示 拼音分词器 和IK中文分词器一样的用法,按照下面的顺序执行。 # 进入容器内部 docker exec -it elasticsearch /bin/bash# 在线下载并安装 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch…...
北斗+5G 织就精确定位的“天罗地网”
今年,邓中亮更忙了。 外部会议,内部讨论,课题研究,还有疫情困扰期间没能出的差铆足劲似的补上,一天里,从离开床和回到床中间的时间都被工作冠名了。 北京邮电大学教授邓中亮 忙碌的加速键在2020年按下暂停…...
Ansible Roles详解
Ansible 的角色(Roles)是一种组织和管理任务和变量的方法,可以帮助您更好地组织和重用 Ansible 代码。角色是一个可重用的、自包含的 Ansible 单元,它封装了一组任务和变量,可以在不同的剧本中轻松地重用。 角色的目录…...
微服务学习笔记-基本概念
微服务是一种经过良好架构设计的分布式架构方案。根据业务功能对系统做拆分,每个业务功能模块作为独立项目开发,称为一个服务。 微服务的架构特征: 单一职责:微服务拆分粒度更小,每一个服务都对应唯一的业务能力&…...
Jitsi Meet accessibility支持:打造人人可用的无障碍视频会议体验
Jitsi Meet accessibility支持:打造人人可用的无障碍视频会议体验 Jitsi Meet 作为一款开源的视频会议解决方案,不仅提供安全、简单且可扩展的视频会议功能,更致力于通过全面的无障碍设计让所有用户都能顺畅参与在线协作。本文将详细介绍 Ji…...
华为OD机试 - 几何平均值最大子数组 - 二分查找(Java 新系统 200分)
华为OD机试 新系统 题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有…...
利用GitHub管理深度学习项目:PyTorch 2.8镜像环境下的协作开发实践
利用GitHub管理深度学习项目:PyTorch 2.8镜像环境下的协作开发实践 1. 为什么需要GitHub管理深度学习项目 深度学习项目开发与传统软件开发有很大不同。模型训练需要大量计算资源,数据集和模型文件体积庞大,团队成员经常需要并行实验不同算…...
Qwen3.5-2B部署教程:阿里云ACK集群中Qwen3.5-2B服务化封装与API网关对接
Qwen3.5-2B部署教程:阿里云ACK集群中Qwen3.5-2B服务化封装与API网关对接 1. 引言 Qwen3.5-2B是阿里云推出的轻量化多模态基础模型,属于Qwen3.5系列的小参数版本(20亿参数)。这款模型主打低功耗、低门槛部署特性,特别…...
HUNYUAN-MT 7B翻译终端与微信小程序开发结合:实现实时对话翻译工具
HUNYUAN-MT 7B翻译终端与微信小程序开发结合:实现实时对话翻译工具 你有没有遇到过这样的场景?在国外旅行,想和当地人交流却语言不通;或者工作中需要和外国同事沟通,但双方语言有障碍。这时候,一个能装在手…...
GLDAS数据变量单位速查与避坑指南:别再搞混土壤湿度和蒸散发单位了!
GLDAS数据变量单位解析与科研避坑实战指南 科研工作中最令人沮丧的瞬间之一,莫过于花费数周时间分析数据后,发现因为单位换算错误导致所有结论需要推倒重来。GLDAS数据集作为全球陆地水文研究的重要数据源,其NOAH、VIC等模型输出的土壤湿度、…...
西门子S7-1500采用原始算法写的飞剪程序, S7-1500的不支持凸轮同步,没办法做采用西...
西门子S7-1500采用原始算法写的飞剪程序, S7-1500的不支持凸轮同步,没办法做采用西门子的凸轮功能做飞剪程序, 必须用1500T才可以实现,由于1500T价格高,该程序通过研究飞剪算法,采用5次多项式计算刀轴的运动…...
终极Windows内存管理指南:Mem Reduct完整教程与实战配置
终极Windows内存管理指南:Mem Reduct完整教程与实战配置 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct …...
【IET出版】第十一届信息科学、计算机技术与交通运输国际学术会议(ISCTT 2026)
第十一届信息科学、计算机技术与交通运输国际学术会议(ISCTT 2026)将于2026年6月12-14日在中国昆明举行。 ISCTT 2026将围绕“信息科学”、"计算机技术”、“交通运输”等最新研究领域,为来自国内外高等院校、科学研究所、企事业单位的…...
如何处理旧版MongoDB升级到新版时密码哈希不兼容
bcrypt哈希值在MongoDB各版本间完全兼容,问题根源是认证机制升级:旧MONGODB-CR用户需重建为SCRAM-SHA-1,FCV须同步更新,驱动与连接字符串需显式指定authMechanism。bcrypt 哈希结果在新旧 MongoDB 版本间完全兼容,问题…...
