news 2026/3/17 1:21:10

Git简介

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Git简介

Git概述

Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目

  • 特点
    Git易于学习,占地面积小,性能极快。它具有廉价的本地库(在本地的磁盘) ,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion、CVS、Perforce和ClearCase等版本控制工具。
  • 何为版本控制
    版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本
    官网链接
    Git

版本控制工具

集中式版本控制工具
CVS、SVN(Subversion)、VSS…
集中化的版本控制系统诸如CVS、SVN 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。
这种做法带来了许多好处,每个人都可以在一定程上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。
事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。
分布式版本控制工具
Git、Mercurial、Bazaar、Darcs…
像Git这种分布式版本控制工,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。
分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:1.服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)←2.每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
区别对比

对比维度集中式版本控制分布式版本控制
仓库架构1 个中央仓库(唯一存储源)+ 多个本地 “工作副本”(无完整历史)每个开发者本地有完整仓库(含全量历史)+ 1 个可选 “中央仓库”(用于协作同步)
离线能力完全依赖中央仓库:离线无法提交、查看历史、创建分支完全支持离线:本地可提交、查看历史、合并分支,联网后同步即可
分支机制分支在中央仓库创建,本地需 “拉取分支” 才能操作;分支操作(创建 / 删除)需联网,且可能影响团队分支在本地仓库创建,操作(创建 / 删除 / 切换)秒级完成;本地分支不影响他人,同步到中央仓库才可见
提交逻辑提交直接推送到中央仓库,“提交即公开”;若中央仓库故障,无法提交先 “本地提交”(历史存本地),再 “远程推送”(同步到中央仓库);提交不依赖远程可用性
冲突处理冲突只能在 “推送代码到中央仓库时” 触发,且需实时解决(否则无法提交)冲突可在 “本地合并时” 提前解决,也可在 “推送前” 与远程仓库对比解决,灵活性更高
数据安全性中央仓库是单点风险:若中央仓库损坏且无备份,所有历史记录丢失多节点备份:每个本地仓库都是完整备份,中央仓库损坏可从任意开发者本地恢复
网络依赖几乎所有操作(提交、拉取、分支、历史查询)都需联网访问中央仓库仅 “同步(拉取 / 推送)” 需联网,其他操作(提交、分支、历史)本地完成,对网络要求低
适用团队规模小型团队(10 人内)、协作频率低、网络稳定的场景中大型团队、跨地域协作(如远程团队)、网络不稳定的场景

Git以及Github发展概述1

诞生背景与技术目标
Git 由 Linus Torvalds 于 2005 年 开发,初衷是为高效管理 [[Linux]]内核开发的庞杂代码。此前版本控制系统(如 CVS、SVN)存在性能瓶颈和集中式架构缺陷,无法满足分布式协作需求。
核心设计:采用分布式版本控制(DVCS),每个开发者拥有完整的代码仓库副本,支持离线操作、高速分支管理和强数据完整性(通过 SHA-1 哈希校验)。
技术演进与普及

[!info] Linux与Git及Github的联系
Git 的诞生直接源于 [[Linux]] 内核的开发需求,GitHub 作为基于 Git 的代码托管平台,成为连接 Git 和 Linux 生态的桥梁,三者都是**林纳斯・托瓦兹(Linus Torvalds)**开发的开源项目

Git的工作机制

Git由工作区,暂存区,本地库三个区组成

[!tip]
按工作区->暂存区->本地库的顺序上传到库里

Git 与代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,般我们简单称为远程库。
局域网

Git安装

教学视频


  1. 该内容来源于网络 ↩︎

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/16 6:29:48

YOLOFuse runs/fuse目录详解:训练日志、权重、曲线一目了然

YOLOFuse runs/fuse 目录详解:训练日志、权重、曲线一目了然 在智能监控系统日益复杂的今天,如何快速定位模型训练中的异常?怎样高效管理成百上千次实验的权重和指标?这不仅是算法工程师日常面临的挑战,也是决定项目能…

作者头像 李华
网站建设 2026/3/16 1:27:16

YOLOFuse推理脚本infer_dual.py使用说明:可视化结果查看路径揭秘

YOLOFuse推理脚本infer_dual.py使用说明:可视化结果查看路径揭秘 在多模态感知系统日益普及的今天,如何让模型“看得更清楚”已成为智能视觉领域的关键挑战。尤其是在夜间监控、烟雾环境或逆光场景下,仅依赖可见光图像的目标检测往往力不从心…

作者头像 李华
网站建设 2026/3/15 1:56:39

YOLOFuse镜像内置LLVIP数据集:可直接启动训练无需额外下载

YOLOFuse镜像内置LLVIP数据集:可直接启动训练无需额外下载 在智能安防、自动驾驶和夜间监控等实际场景中,一个长期存在的挑战是——当光照条件急剧恶化时,传统基于RGB图像的目标检测模型性能会断崖式下降。烟雾、雾霾、黄昏或完全黑暗的环境让…

作者头像 李华
网站建设 2026/3/15 2:22:59

YOLOFuse性能实测:中期特征融合仅2.61MB,精度高达94.7% mAP@50

YOLOFuse性能实测:中期特征融合仅2.61MB,精度高达94.7% mAP50 在低光照、浓雾或夜间监控等极端环境下,传统基于可见光的目标检测系统常常“失明”。即便最先进的YOLOv8模型,在黑暗中也难以捕捉行人或车辆的轮廓。而与此同时&…

作者头像 李华