Git原理及使用
1、Git初识
Git是一种版本控制器:
对于同一份文件,做多次改动,Git会记录每一次改动前后的文件。
通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。
注意:
Git其实只能跟踪⽂本⽂件的改动,⽐如TXT⽂件,⽹⻚,所有的程序代码等等。版本控制系统可以告诉你每次的改动,⽐如在第5⾏加了⼀个单词“Linux”,在第8⾏删了⼀个单词“Windows”。
并不能跟踪二进制文件的改动内容,最多告诉你二进制文件改动前后的大小。
2、Git安装(sudo yum install -y git)
Linux-Centos:
使用:git --version;查看是否有Git,或者查看Git的版本
安装:sudo yum install -y git;
3、Git的基本操作
3、1创建Git本地仓库(git init)
仓库是进⾏版本控制的⼀个⽂件⽬录。
我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来。
创建本地Git仓库的命令是:git init。
要注意的是,该命令要在目录文件下进行。
[zy@hcss-ecs-4716 gityum2]$ pwd
/home/zy/gitlab/gityum2
[zy@hcss-ecs-4716 gityum2]$ git init
Initialized empty Git repository in /home/zy/gitlab/gityum2/.git/
[zy@hcss-ecs-4716 gityum2]$ ll -a
total 12
drwxrwxr-x 3 zy zy 4096 Mar 22 12:32 .
drwxrwxr-x 4 zy zy 4096 Mar 22 12:31 ..
drwxrwxr-x 7 zy zy 4096 Mar 22 12:32 .git
此时该目录下就出现了一个.git的隐藏目录文件。
注意:.git目录是Git来跟踪管理仓库的,不要手动修改这个目录里面的文件,不然该乱了,Git仓库就被破坏了。
对于.git仓库的细节,可以看看:
zy@139-159-150-152:~/gitcode$ tree .git/
.git/
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── fsmonitor-watchman.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── pre-merge-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-push.sample
│ ├── pre-rebase.sample
│ ├── pre-receive.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
9 directories, 16 files
具体里面的内容是什么先不做了解。
3、2配置Git(git config [--global] user.name/email)
首先要设置你的用户名称 和 email地址。
使用 git config [--global] user.name/user.email "名称/地址"
git config [--global] user.name "名称"
git config [--global] user.email "地址"
其中--global是一个可选项,如果带上--global代表这台机器上的所有仓库都会使用这个配置。
如果希望在不同仓库中使用不同的name和email,就不要带--global。
[zy@hcss-ecs-4716 gityum2]$ git config --global user.name xxx
[zy@hcss-ecs-4716 gityum2]$ git config --global user.email "212123123@qq.com"
查看是否配置成功:git config -l
[zy@hcss-ecs-4716 gityum2]$ git config -l
user.name=xxx
user.email=213123212@qq.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
这样就显示配置成功了。
删除对应的配置命令:
git config [--global] --unset user.name/user.email
git config [--global] --unset user.name
git config [--global] --unset user.email
对于gloabal,如果配置的时候用了global,删除的时候也要对应使用。
3、3认识工作区、暂存区、版本库
工作区:是在本地电脑上你要写代码或⽂件的⽬录
暂存区:英⽂叫stage或index。⼀般存放在 .git ⽬录下的index⽂件(.git/index)中,我们把暂存区有时也叫作索引(index)。
版本库:又叫仓库。工作区上有一个隐藏目录.git,它不算工作区,而是Git的版本库。这个版本库内的所有文件都可以被Git管理起来,每个文件的修改(新增、修改、删除),Git都能跟踪。

图中左侧为⼯作区,右侧为版本库。Git的版本库⾥存了很多东西,其中最重要的就是暂存区。
在创建Git版本库时
相关文章:
Git原理及使用
1、Git初识 Git是一种版本控制器: 对于同一份文件,做多次改动,Git会记录每一次改动前后的文件。 通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。 注意: Git其实只能跟踪⽂本⽂件的改动,⽐如TXT⽂件,⽹⻚,所有的程序代码…...
Milvus 向量数据库介绍及使用
一、Milvus 介绍及安装 Milvus 于 2019 年创建,其目标只有一个:存储、索引和管理由深度神经网络和其他机器学习 (ML) 模型生成的大量嵌入向量。它具备高可用、高性能、易拓展的特点,用于海量向量数据的实时召回。 作为专门为处理输入向量查…...
STP环路避免实验(华为)
思科设备参考:STP环路避免实验(思科) 一,技术简介 Spanning Tree Protocol(STP),即生成树协议,是一种数据链路层协议。主要作用是防止二层环路,并自适应网络变化和故障…...
二、SpringBoot3 配置文件
本章概要 统一配置管理概述属性配置文件使用YAML 配置文件使用批量配置文件注入多环境配置和使用 2.1 统一配置管理概述 SpringBoot工程下,进行统一的配置管理,你想设置的任何参数(端口号、项目根路径、数据库连接信息等等)都集中到一个固定…...
二、阅读器的开发(初始)-- 2、阅读器开发
1、epubjs核心工作原理 1.1 epubjs的核心工作原理解析 epub电子书,会通过epubjs去实例化一个Book对象,Book对象会对电子书进行解析。Book对象可以通过renderTo方法去生成一个Rendition对象,Rendition主要负责电子书的渲染,通过R…...
【QT入门】 Qt自定义信号后跨线程发送信号
往期回顾: 【QT入门】 lambda表达式(函数)详解-CSDN博客 【QT入门】 Qt槽函数五种常用写法介绍-CSDN博客 【QT入门】 Qt实现自定义信号-CSDN博客 【QT入门】 Qt自定义信号后跨线程发送信号 由于Qt的子线程是无法直接修改ui,需要发送信号到ui线程进行修改…...
51单片机学习笔记7 串转并操作方法
51单片机学习笔记7 串转并操作方法 一、串转并操作简介二、74HC595介绍1. **功能**:2. **引脚**:3. **工作原理**:4. 开发板原理图(1)8*8 LED点阵:(2)74HC595 串转并: 三…...
微服务cloud--抱团取暖吗 netflix很多停更了
抱团只会卷,卷卷也挺好的 DDD 高内聚 低耦合 服务间不要有业务交叉 通过接口调用 分解技术实现的复杂性,围绕业务概念构建领域模型;边界划分 业务中台: 数据中台: 技术中台: 核心组件 eureka&#x…...
牛客笔试|美团2024春招第一场【测试方向】
第一题:小美的数组询问 小美拿到了一个由正整数组成的数组,但其中有一些元素是未知的(用 0 来表示)。 现在小美想知道,如果那些未知的元素在区间 [l, r] 范围内随机取值的话,数组所有元素之和的最小值和最大…...
Docker搭建LNMP环境实战(一):前言
缘起:不久前学习了Docker相关知识,并在Docker环境下学习了LNMP环境的搭建。由于网上的文章大多没有翔实、可行的案例,很多文章都是断章取义,所以,期间踩了太多太多的坑,初学者想要真正顺利地搭建一套环境起…...
SCI一区 | Matlab实现PSO-TCN-BiGRU-Attention粒子群算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
SCI一区 | Matlab实现PSO-TCN-BiGRU-Attention粒子群算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现PSO-TCN-BiGRU-Attention粒子群算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述…...
界面控件DevExpress ASP.NET Ribbon组件 - 完美复刻Office 365体验!
无论用户是喜欢传统工具栏菜单外观、样式,还是想在下一个项目中复制Office 365 web UI,DevExpress ASP.NET都提供了所需要的工具,帮助用户打造更好的应用程序界面。 P.S:DevExpress ASP.NET Web Forms Controls拥有针对Web表单&a…...
vue2【详解】mixins —— 抽离公共逻辑
mixins 用于在 Vue 中便捷复用变量、方法、组件引用、生命周期等 使用方法 创建文件myMixin.js export const myMixin {data() {return {webName: 朝阳的博客}},created() {alert(欢迎来到${this.webName})},methods: {hi() {alert(欢迎来到${this.webName})}} }vue文件中引入…...
ArrayList的常用方法
ArrayList是Java中常用的动态数组类,它提供了一系列用于操作和管理数组的方法。下面是一些ArrayList常用方法的介绍: add()方法:向ArrayList中添加元素,可以指定位置添加元素或者在末尾添加元素。 ArrayList<String> list …...
ES-Hadoop:将Elasticsearch与Hadoop无缝集成的开源工具
hadoop 大数据技术之Hive(3)PyHive pyhdfs ES,Elasticsearch https://zhuanlan.zhihu.com/p/595505475?utm_id0 Hadoop hdfs 、hive、spark https://blog.51cto.com/u_16099278/6901638 ES-Hadoop:将Elasticsearch与Hadoop无缝集成的开源工…...
质量模型、软件测试流程和测试用例
质量模型 衡量一个优秀软件的维度 可以从功能性、性能、兼容性、易用性、安全、可靠性、可维护性、可移植性这几个方面去做软件测试,但咱们在正常测试中一般是选取前五项进行测试 测试流程 1、需求评审:确保各部门对需求的理解一致 2、测试计划编写&a…...
集简云新增“文本语音转换”功能,实现智能语音交互
为丰富人工智能领域的应用集成,为用户提供更便捷和智能化的信息获取和视觉创作方式,本周集简云上线了内置应用—文本语音转换。目前支持OpenAI TTS和TTS HD模型,实现文本语音高效智能转换,也可根据你的产品或品牌创建独特的神经网…...
图像处理领域专业术语
图像处理中的一些常见术语,涵盖了从基础概念到高级处理技术的各个方面。 以下是一些图像处理领域常用的专业术语及其解释: 像素(Pixel): 图像的最基本单元,每个像素都有一个或多个与其关联的数值࿰…...
Microsoft Edge 中的 Internet Explorer 模式解决ie禁止跳转到edge问题
作为网工,网络中存在很老的设备只能用ie浏览器访问打开,但是win10后打开Internet Explorer 会强制跳转到Edge 浏览器,且有人反馈不会关,为此找到了微软官方的Microsoft Edge 中的 Internet Explorer 模式,可以直接在Mi…...
理清大数据技术与架构
大数据并不是一个系统软件,更不是一个单一的软件,它实际上是一种技术体系、一种数据处理方法,甚至可以说是一个服务平台。在这个技术体系中,涵盖了许多不同的部件,比如Hadoop服务平台。这一服务平台可以根据具体情况自…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...
CSS3相关知识点
CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...
