Git小白入门——了解分布式版本管理和安装
Git是什么?
Git是目前世界上最先进的分布式版本控制系统(没有之一)
什么是版本控制系统?
程序员开发过程中,对于每次开发对各种文件的修改、增加、删除,达到预期阶段的一个快照就叫做一个版本。
如果有一个系统,能够让我们知道每个版本做了哪些操作、什么时候做的、谁做的,并且能够任意的在各个版本中穿梭、合并等等,这就是版本控制系统!
如下图所示:

为什么要引入版本控制?
这就不得不提及linux的创始人linus了,1991年开源了linux后,2002年之前,所有的全世界的linux开源参与者,都是通过diff的形式,将源代码发给linus,由他本人手动方式合并!
但是随着Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统!
安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。
Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:
Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。
如何理解集中式和分布式?
集中式版本管理:

版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器
缺点: 必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。
分布式版本管理:

分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网。
因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。
因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而。
Git的安装
这里只介绍Windows的安装,因为安装都是傻瓜式的一直下一步安装!
上Git官网:https://git-scm.com/downloads下载
大家各自选择自己的系统,大同小异:

这里有个推荐选项,直接点就好,我电脑是Windows 64 bit的

下载下来,一直下一步就好!(注意安装路径不要带中文字符) 这里不过多介绍!
安装完成之后,鼠标右键出现以下红圈图标就表示成功了!

这一节就到此为止啦,下一节开始真正创建自己的仓库并且学习管理仓库啦!!!!!!!
希望大家多多点赞支持!
相关文章:
Git小白入门——了解分布式版本管理和安装
Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一) 什么是版本控制系统? 程序员开发过程中,对于每次开发对各种文件的修改、增加、删除,达到预期阶段的一个快照就叫做一个版本。 如果有一…...
芯科科技宣布推出下一代暨第三代无线开发平台,打造更智能、更高效的物联网
第三代平台中的人工智能/机器学习引擎可将性能提升100倍以上 Simplicity Studio 6软件开发工具包通过新的开发环境将开发人员带向第三代平台 中国,北京 - 2023年8月22日 – 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs&…...
无涯教程-Android - Intents/Filters
Android Intent 是要执行的操作的抽象描述。它可以与 startActivity 一起启动Activity,将 broadcastIntent 发送给任何BroadcastReceiver组件,并与 startService(Intent)或 bindService(Intent,ServiceConnection,int)与后台服务进…...
NFTScan 正式上线 Base NFTScan 浏览器和 NFT API 数据服务
2023 年 8 月 24 号,NFTScan 团队正式对外发布了 Base NFTScan 基础设施,将为 Base 生态的 NFT 开发者和用户提供简洁高效的 NFT 数据搜索查询服务。NFTScan 作为全球领先的 NFT 数据基础设施服务商,Base 是继 Bitcoin、Ethereum、BNBChain、…...
【Git】测试持续集成——Git+Gitee+PyCharm
文章目录 概述一、使用Gitee1. 注册账号2. 绑定邮箱3. 新建仓库4. 查看项目地址 二、安装配置Git1. 下载安装包2. 校验是否安装成功。3. 配置Git4. Git命令5. Git实操 三、PyCharmGit1. 配置Git2. Clone项目3. 提交文件到服务器4. 从服务器拉取文件 概述 持续集成(…...
《HelloGitHub》第 89 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 …...
多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比
多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比 目录 多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | Matlab实现LSTM-Adaboost和LSTM多变量时间序列预测对比 模型…...
c语言每日一练(12)
前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…...
用AI + Milvus Cloud搭建着装搭配推荐系统
在上一篇文章中,我们学习了如何利用人工智能技术(例如开源 AI 向量数据库 Milvus Cloud 和 Hugging Face 模型)寻找与自己穿搭风格相似的明星。在这篇文章中,我们将进一步介绍如何通过对上篇文章中的项目代码稍作修改,获得更详细和准确的结果,文末附赠彩蛋。 注:试用此…...
41、springboot 整合 FreeMarker 模版技术
springboot 整合 FreeMarker 模版技术 ★ 整合FreeMarker的自动配置: FreeMarkerAutoConfiguration:负责整合Spring容器和获取FreeMarkerProperties加载的配置信息。FreeMarkerServletWebConfiguration/FreeMarkerReactiveWebConfiguration:…...
每天 26,315 美元罚款?交通安全局要求特斯拉提供 Autopilot数据
根据美国国家公路交通安全管理局(NHTSA)最近的特别命令,特斯拉公司被要求提供关于其自动驾驶功能Autopilot的相关信息。这一命令是继NHTSA于2021年8月启动初步评估后,在2022年6月升级为正式调查的一部分,NHTSA近期对特…...
3d激光slam建图与定位(2)_aloam代码阅读
1.常用的几种loam算法 aloam 纯激光 lego_loam 纯激光 去除了地面 lio_sam imu激光紧耦合 lvi_sam 激光视觉 2.代码思路 2.1.特征点提取scanRegistration.cpp,这个文件的目的是为了根据曲率提取4种特征点和对当前点云进行预处理 输入是雷达点云话题 输出是 4种特征点…...
Java 8 新特性——Lambda 表达式(2)
一、Java Stream API Java Stream函数式编程接口最初在Java 8中引入,并且与 lambda 一起成为Java开发里程碑式的功能特性,它极大的方便了开放人员处理集合类数据的效率。 Java Stream就是一个数据流经的管道,并且在管道中对数据进行操作&…...
MES管理系统中常用的数据模型有哪些
在MES管理系统项目中,数据建模对于生产过程的监控、分析和管理具有至关重要的作用。本文将介绍一些常见的MES管理系统数据建模方面,并阐述它们在生产过程中的重要性和应用。 1、产品数据模型是MES系统中的基础模块之一。它涵盖了产品的基本信息、规格和属…...
ARM DIY(三)板载串口和 LCD 调试
前言 今天焊接两大关键输入输出设备:串口和屏幕。 串口 串口部分使用 CP2102N 芯片(USB 转 TTL),这样用一根数据线连接板子和 PC 就可以直接调试了。 焊接 CP2102 和 Type C 上电调试,串口可以正常输入输出。 看来…...
计算机网络-笔记-第一章-计算机网络概述
目录 一、第一章——计算机网络概述 1、因特网概述 (1)网络、互联网、因特网 (2)因特网发展的三个阶段 (3)因特网服务的提供者(ISP) (4)因特网标准化工…...
Oracle-day4:分组查询(带条件)、DDL建表、约束、主从表
一、内容回顾 /*------------------内容回顾------------------------上周内容回顾--1、单表的基础查询--A、select * from emp;--B、列的运算 --数字类型运算 - * /--函数运算 mod ceil floor round upper lower--C、取别名--列、表达书取别名--*表示所有的列和列同时存在时…...
(详解)数据结构-----------栈与队列 c语言实现
本章将会详细讲解以下知识点: 目录 一:栈 1:栈的定义,栈的特点 2:用什么结构来实现栈与原因的分析? 3: (超详解)栈的常用接口并且附上测试用例 二:队列 1:队列的定义,队列的特点 2:用什么结…...
前端文件、图片直传OOS、分片上传、el-upload上传(vue+elementUI)
前言:基于天翼云的面相对象存储(Object-Oriented Storage,OOS),实现小文件的直接上传,大文件的分片上传。 开发文档地址:网址 上传之前的相关操作:注册账户,创建 AccessKeyId 和 AccessSecretKey之后&…...
java自动登录 selenium 自动登录并获取cookie
选择操作网页 我用的edge,谷歌我的版本太高没有对应的驱动… 下载Edge的驱动程序,直接解压就好里面只有一个.exe文件 https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ 复制即用,看注释 import com.alibaba.fastjs…...
深耕 Harness 工程,解锁 AI Agent 开发之路
2026三掌柜赠书活动第三十一期 Harness工程:从上下文管理到Agent系统构建 目录 前言 详解Harness工程核心价值与独特优势 关于《Harness工程:从上下文管理到Agent系统构建》 编辑推荐 内容简介 作者简介 图书目录 《Harness工程:从上…...
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
文章目录环境症状问题原因解决方案环境 系统平台:UOS(海光) 版本:9.0 症状 瀚高数据库版本:企业版 V9.1.1 症状: pg_restore还原备份文件时,提示下面错误 pg_restore: 来自 TOC 记录 259; …...
老旧小区门禁改造:业主权益与合规指引
一、费用来源与使用规范小区门禁改造并非全部由业主自费承担,可按合规渠道统筹资金,优先使用公共补贴与专项维修资金。资金使用优先级:政府老旧小区改造财政补贴>住宅专项维修资金>业主自筹财政补贴:老旧小…...
大麦网API签名机制解析:从抓包到Python复现全流程
1. 这不是“破解”,而是理解前端签名机制的常规技术推演大麦网的API接口在请求时普遍要求携带一个名为sign的参数,该参数并非固定值,而是由请求体、时间戳、密钥、随机串等多要素动态拼接后经哈希算法生成。很多初学者看到这个字段第一反应是…...
别再手动开两个终端了!群晖Docker部署MCSM面板后,配置Systemd服务实现开机自启动详解
群晖Docker部署MCSM面板的终极运维方案:Systemd服务配置全指南 在家庭服务器和小型私有云环境中,Minecraft服务器的管理一直是个既有趣又充满挑战的话题。MCSM面板作为一款开源的Minecraft服务器管理工具,凭借其友好的Web界面和丰富的功能&am…...
从硬复位到裸机运行:一张图看懂ZYNQ7000系列启动全流程(附Stage0/1/2详细解析)
从硬复位到裸机运行:ZYNQ7000启动全流程深度解析 当一块ZYNQ7000芯片首次通电时,内部究竟发生了什么?这个看似简单的上电过程,实际上隐藏着一套精密的启动机制。对于FPGA/SOC开发者而言,理解这套机制不仅是掌握ZYNQ开发…...
鸿蒙备考题库页面构建:今日计划与题目预览模块的详细解析
鸿蒙备考题库页面构建:今日计划与题目预览模块的详细解析 前言 在 HarmonyOS 6.0 应用开发中,在线教育类页面的学习计划展示和题目练习模块是用户停留时间最长的核心区域。本文将以“备考题库”应用中的“今日学习计划”任务列表和“题目预览”答题卡片为…...
如何在Linux系统上安装Realtek RTL8125 2.5GbE网卡驱动:完整配置指南
如何在Linux系统上安装Realtek RTL8125 2.5GbE网卡驱动:完整配置指南 【免费下载链接】realtek-r8125-dkms A DKMS package for easy use of Realtek r8125 driver, which supports 2.5 GbE. 项目地址: https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms …...
Unity重型战士Mecanim动画包:开箱即用的战斗动画解决方案
1. 这套动画包到底解决了什么实际问题?在Unity项目开发中,我见过太多团队卡在“角色动不起来”这一步——不是程序写不出状态机,而是美术资源交付后,Animator Controller里一堆红色警告:Missing Avatar、Clip not mapp…...
Heavy Fighter动画包:Unity战斗系统根运动与状态机深度解析
1. 这套动画包不是“拿来就能用”的资源,而是需要你亲手校准的战斗系统骨架我在2021年接手一个横版ARPG项目时,美术总监甩给我三套Mecanim动画包,其中一套就是Heavy Fighter Mecanim Animation Pack。当时我第一反应是“终于不用手调IK了”&a…...
