一文详解Git
一. Git 概述
1.1 什么是 Git
Git 是一个免费的、开源的分布式版本控制工具, 主要用于管理开发过程中的源代码文件,在软件开发过程中被广泛使用。通过Git仓库来存储和管理这些文件,Git仓库分为二种:
- 本地仓库:开发人员自己电脑上的仓库
- 远程仓库:远程服务器上的仓库

1.2 Git基本概念

工作区:包含 .git 文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码。
暂存区:.git 文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫 stage。暂存区是一个临时保存修改文件的地方。
版本库:前面看到的 .git 隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等。
1.3 代码托管中心
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。 局域网里有GitLab,互联网里有 GitHub(外网)、Gitee 码云(国内网站)。
gitHub(地址:GitHub: Let’s build from here · GitHub):是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名gitHub
码云(地址:Gitee - 企业级 DevOps 研发效能平台):是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
GitLab(地址:The DevSecOps Platform | GitLab):是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
BitBucket (地址:Bitbucket | Git solution for teams using Jira):是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户
二.Git的下载和安装
1.下载
打开官网,找到Windows版的Git下载即可

2.安装
双击安装包,傻瓜式安装即可
3.验证
安装完成后在任意目录点击鼠标右键,如果能看到如下菜单,则表示安装完成

Git GUI Here:打开 Git 图形界面
Git Bash Here:打开 Git 命令行
三.Git 常用命令
3.1 设置用户签名
用户签名的作用
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。
基本语法
git config --global user.name “用户名”git config --global user.email “邮箱”
3.2 创建本地Git仓库
要使用 Git 来对我们的代码进行控制,首先要获得 Git 仓库。可以用二种方式来创建本地仓库,分别是本地初始化一个仓库、或者从远程仓库克隆过来。
1.本地初始化仓库步骤
步骤一:在任意目录下创建一个空目录,作为我们的本地Git仓库
步骤二:进入这个目录,右键打开Git Bash窗口
步骤三:在命令行窗口中输入命令:git init
步骤四:如果在当前目录下看到.git文件夹,代表初始化仓库成功
步骤五:.git文件夹是隐藏文件夹,需要设置显示隐藏文件夹才能看到
2.从远程仓库克隆的步骤
步骤一:在任意目录下创建一个空目录
步骤二:进入这个目录,右键打开Git Bash窗口
步骤三:在命令行窗口中输入命令:git clone “远程仓库地址”
3.3 查看本地库状态
命令
git status
1.首次查看本地库状态
首次查看,本地库的工作区没有任何文件

2.新增文件
新增文件的方式有二种
方式一:直接在本地仓库内新建一个文件,步骤如下
第一步:创建一个名为 hello 的文本文档

第二步:在文本文档中随便写一些代码
方式二:通过 vim 命令新建
第一步:在 git 的命令行窗口中输入命令:vim hello.txt
第二步:在新界面按 i 进入插入模式,然后输入文件内容
第三步:按 esc 进入命令模式,输入命令 :wq 保存文件并退出当前命令界面
第四步:在命令界面输入命令 ll 可以发现,该本地库确实存在该文件了
第五步:在命令行界面输入 cat 文件名,即可查看文件内容
3.再次查看本地库状态
再次输入命令:git status,即可检测到未追踪的文件

3.4 添加暂存区
相关文章:
一文详解Git
一. Git 概述 1.1 什么是 Git Git 是一个免费的、开源的分布式版本控制工具, 主要用于管理开发过程中的源代码文件,在软件开发过程中被广泛使用。通过Git仓库来存储和管理这些文件,Git仓库分为二种: 本地仓库:开发人…...
【单片机】DS2431英文手册,中文手册,翻译
DS2431是一款1024位的1-Wire EEPROM芯片,以每个256位的四个内存页面组织。数据被写入8字节的暂存区,经过验证,然后复制到EEPROM存储器中。作为一个特殊功能,四个内存页面可以单独地被写保护,或者被置于EPROM仿真模式&a…...
centos7部署openldap开启memberof并接入jumpserver
文章目录 前言1.yum安装openldap2.配置密码3.导入配置4.定义域5.配置memberof6.配置base dn7.安装phpldapadmin管理8.调整httpd的配置9.调整php的配置10.登陆php管理页面11.同步旧ldapsever用户数据(可省略)12.客户端配置13.对接jumpserver 前言 介绍如何在centos7上部署openl…...
Unity游戏源码分享-仿开心消消乐Match3Jewel
Unity游戏源码分享-仿开心消消乐Match3Jewel 工程地址: https://download.csdn.net/download/Highning0007/88198762...
知识图谱基本工具Neo4j使用笔记 四 :使用csv文件批量导入图谱数据
文章目录 一、系统说明二、说明三、简单介绍1. 相关代码以及参数2. 简单示例 四、实际数据实践1. 前期准备(1) 创建一个用于测试的neo4j数据库(2)启动neo4j 查看数据库 2. 实践(1) OK 上面完成后࿰…...
[bug修复]状态数据在useEffect初始化时更新无效
(bug修复类型的博客还是用汉语写捏) 前两天在做一个管理页面前端的时候,出现了这样的问题 function Son(props){const [a,seta]useState(0)useEffect(()>{seta(props.name)},[])return(<div>{a}</div>) } 这是当时情况的一…...
使用 API Gateway Integrator 在 Quarkus 中实施适用于 AWS Lambda 的 OpenAPI
AWS API Gateway 集成使得使用符合 OpenAPI 标准的 Lambda Function 轻松实现 REST API。 关于开放API 它是一个 允许以标准方式描述 REST API 的规范。 OpenAPI规范 (OAS) 为 REST API 定义了与编程语言无关的标准接口描述。这使得人类和计算机都可以发现和理解服务的功能&am…...
【JVM】JVM中的分代回收
文章目录 分代收集算法什么是分代分代收集算法-工作机制MinorGC、 Mixed GC 、 FullGC的区别是什么 分代收集算法 什么是分代 在java8时,堆被分为了两份: 新生代和老年代【1:2】 其中: 对于新生代,内部又被分为了三…...
C# Linq源码分析之Take方法
概要 Take方法作为IEnumerable的扩展方法,具体对应两个重载方法。本文主要分析第一个接收整数参数的重载方法。 源码解析 Take方法的基本定义 public static System.Collections.Generic.IEnumerable Take (this System.Collections.Generic.IEnumerable source…...
从后往前读取列表的方法
从后往前读取列表的方法 方法1:使用for循环遍历列表时,可以使用reverse()函数将列表反转,然后再遍历。 # 列表 num [0, 1, 2, 3]# 反向遍历 for i in reversed(num):print(i)输出结果: 3 2 1 0方法2:先计算列表长度…...
数据库--数据类型
数据库相关链接: 数据库基础操作--增删改查:http://t.csdn.cn/189CF 数据库--三大范式、多表查询、函数sql:http://t.csdn.cn/udJSG 数据类型 创建表的时候,我们在类型这里给出了不同的选项,比如有int ,…...
小型双轮差速底盘机器人实现红外跟随功能
1. 功能说明 本文示例将实现R023样机小型双轮差速底盘跟随人移动的功能。在小型双轮差速底盘前方按下图所示安装3个 近红外传感器,制作一个红外线发射源,实现当红外发射源在机器人的检测范围内任意放置或移动时,机器人能追踪该发射源。 2. 电…...
TCP协议网络编程 回显服务器,客户端实现
回显服务器表示客户端传来的请求是什么,服务器就回应什么,客户端不用对传来的数据进行处理,主要是为了熟悉TCP协议提供的API的使用 对于代码的解释全作为注释写在了代码上,推荐复制到编程软件中查看 UDP协议实现回显服务器可以看…...
3.4 Spring MVC注解
注解名称 注解说明 RequestMapping 用来处理请求地址映射的注解,可以在接口、类和方法上使用 value属性 表示请求地址,与path属性一致 method属性 表示接收HTTP请求方法,默认接收所有请求方法,请求包括GET、POST、PUT、DEL…...
OpenCV实例(八)车牌字符识别技术(三)汉字识别
车牌字符识别技术(三)汉字识别 1.代码实例2.遇到问题3.汉字识别代码实例 相较于数字和英文字符的识别,汽车牌照中的汉字字符识别的难度更大,主要原因有以下4个方面: (1)字符笔画因切分误差导致非笔画或笔画流失。 (2…...
运维监控学习笔记2
硬件监控: 1)使用IPMI 2)机房巡检 路由器和交换机: 使用SNMP(简单网络管理协议)进行监控。 Linux 安装snmp: yum install -y net-snmp net-snmp-utils 说明:net-snmp是安装在snm…...
【深度学习】遗传算法[选择、交叉、变异、初始化种群、迭代优化、几何规划排序选择、线性交叉、非均匀变异]
目录 一、遗传算法二、遗传算法概述2.1 选择2.2 交叉2.3 变异 三、遗传算法的基本步骤3.1 编码3.2 初始群体的生成3.3 适应度评估3.4 选择3.5 交叉3.6 变异3.7 总结 四、遗传算法工具箱4.1 initializega4.2 ga4.3 normGeomSelect4.4 arithXover4.5 nonUnifMutation 五、遗传算法…...
【小吉带你学Git】讲解GitHub操作,码云操作,GitLab操作
🎊专栏【Git】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🌺欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔GitHub操作⭐安装GitHub插件⭐在idea中设置GitHub账号&…...
nginx基础
nginx 具体就是一个轻量级以及高性能的web服务软件。 nginx特点 1、稳定性高。(但不如apache) 2、系统资源消耗比较低。(处理http请求的并发能力较高,单台处理器可以处理3w-5w的并发请求) 注:一般在企…...
【Windows API】获取卷标、卷名
1、卷->卷标 使用FindFirstVolume()和FindNextVolume()函数体系,枚举系统所有卷(Volume)的例子,然后获取卷标、卷类型。这个方式可以枚举出没有驱动器号(卷标)的卷。 int TestMode1() {HANDLE hVolume…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
