【学习心得】Git深入学习

一、深入学习Git必须熟悉两个概念

(1)【四个区】Git本地有三个区,远程仓库也可以看出成一个区域

工作区、暂存区、本地仓库、远程仓库

通过四句话来充分理解这三个区

  • 第一句话:你创建的一个文件夹,并且将它初始化成了一个Git管理的仓库(或者你从远程克隆下来了一个仓库)那么这个文件夹就是你本地仓库的工作区。
  • 第二句话:工作区中的文件或者文件夹如果发生了“变动”,需要先将“变动”添加到暂存区才能将这种“变动”提交到本地仓库,也就是上图中箭头的方向,我叫它正方向操作。(变动可以是新增、删除、修改等等)
  • 第三句话上图中的箭头也可以反过来,我叫它逆方向操作,反过来的这种行为就是回退版本,是一种版本控制行为。
  • 第四句话:回退版本的意思就是将仓库里的内容回退到暂存区和工作区,如果commit提交到了仓库,那么仓库就发生了一次状态变化,仓库中的状态就是版本。(版本 == 仓库状态,上一个版本 == 提交前的仓库状态, 当前版本 == 当前仓库的状态)

(2)【文件的四种状态】

  • 未跟踪:如果一个文件放在工作区里面,但他没有被Git管理,那么就称这个文件未被Git跟踪故叫做未跟踪。
  • 未修改:如果一个文件只是放在工作区里,没有任何修改,那么就称这个文件为未修改状态。
  • 已修改:如果一个文件工作区里被修改了,那么就称这个文件为已修改状态。
  • 已暂存:如果一个工作区里的文件被git add命令添加到了暂存区,那么就称这个文件为已暂存状态。

二、深入学习Git必须掌握逆方向操作

(1)复习一下正方向操作

# 将工作区里的文件添加到暂存区(文件被Git跟踪,跟踪=管理)
git add . # 将暂存区里的文件提交到本地仓库
git commit -m '说明'# 将本地仓库里的文件推送到远程仓库
git push

其实如果你的操作是删除文件,或者修改文件,上述的注释会让你困惑,所以我更愿意用下面这种注释。

# 将工作区里的文件的“变动”添加到暂存区

# 将暂存区里的文件的“变动”提交到本地仓库

# 将本地仓库里的文件的“变动”推送到远程仓库

例如:如果你的变动是删除,那么意思就是将你在工作区删除文件这种操作行为添加到暂存区,也就是让暂存区也进行删除文件的操作。

(2)逆方向操作的学习

# 远程仓库中的改动拉取到本地仓库
git pull# 将本地仓库里的文件退回暂存区和工作区
git reset [版本号]# 将暂存区的文件删除(如果文件之前提交过,那么删了暂存区和工作区里的,但本地仓库里还有)
git rm filename# 将暂存区的文件退回工作区(也就是让文件状态变成未暂存)
git restore --staged filename

需要说明git rm a.txt会把暂存区和工作区的a.txt文件都删掉。而git restore --staged a.txt只会删除暂存区里面的a.txt 

三、深入学习Git必须掌握分支

        这一块儿的内容后续更新哟(^o^)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/619503.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java SSM框架实现体育竞赛成绩管理系统项目【项目源码+论文说明】

基于java的SSM框架实现体育竞赛成绩管理系统演示 摘要 体育竞赛是各种体育体育项目比赛的总称。是在裁判员的主持下,按统一的规则要求,组织与实施的体育员个体或体育队之间的竞技较量,是竞技体育与社会发生关联,并作用于社会的媒…

基于OpenCV的谷物颗粒识别

基于OpenCV的谷物颗粒识别 一、程序整体功能介绍1.1 导入库与函数定义1.2 颜色分割与灰度处理1.3 二值化与轮廓检测1.4 绘制与计数1.5 主程序与结果展示 二、算法原理与实现流程2.1算法原理(1)颜色分割(2)灰度处理与二值化&#x…

前端 TS 语法 接口(2)

介绍 TypeScript的核心原则之一是对值所具有的shape进行类型检查。 它有时被称做“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。 只读属性 readonly 一些对象属性只能在对象刚刚创建的…

Java反转单链表

/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ //核心思想,利用cur和Curnex…

基础篇_数据持久化(实战-我的B站,MySQL数据库)

文章目录 一. 实战-我的B站1. 功能演示2. 设计数据类数据展示路径参数 3. 设计 Service 类静态资源映射读取文件的时机Stream API 改进 二. MySQL 数据库1. 数据库必要性2. MySQL 安装下载压缩包初始化数据库运行服务器运行客户端 3. 初步使用4. datagrip添加数据源导入数据用 …

HBase 基础

HBase 基础 HBase1. HBase简介1.1 HBase定义1.2 HBase数据模型1.2.1 HBase逻辑结构1.2.2 HBase物理存储结构1.2.3 数据模型 1.3 HBase基本架构 2. HBase环境安装2.1 HBase 安装部署2.1.1 HBase 本地按照2.1.2 HBase 伪分布模式安装2.1.3 HBase 集群安装 2.2 HBase Shell操作2.2…

jar包部署到linux虚拟机的docker中之后连不上mysql

前言: 跟着黑马学习docker的时候,将java项目部署到了docker中,运行访问报错,反馈连不上mysql。 错误描述: 方法解决: 概述:在虚拟中中,我进入项目容器的内部,尝试ping…

分布式搜索引擎--认识

elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 。 elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK)。被广泛…

【嵌入式移植】3、编译U-Boot

编译U-Boot 0 U-Boot及本文所选硬件1 获取U-Boot源码2 获取工具链3 BL314 编译4.1 yylloc4.2 u_boot_dtsi 5 烧写6 上电验证 0 U-Boot及本文所选硬件 Das U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。U-B…

seata分布式事务(与dubbo集成)

1.seata是什么? Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 2.seata的注解 GlobalTransactional:全局事务注解,添加了以后可实现分布式事务的回滚和提交,用法与spring…

【.NET Core】Lazy<T> 实现延迟加载详解

【.NET Core】Lazy 实现延迟加载详解 文章目录 【.NET Core】Lazy<T> 实现延迟加载详解一、概述二、Lazy<T>是什么三、Lazy基本用法3.1 构造时使用默认的初始化方式3.2 构造时使用指定的委托初始化 四、Lazy.Value使用五、Lazy扩展用法5.1 实现延迟属性5.2 Lazy实现…

MySQL 日志之二进制日志-binlog

1、简介 MySQL 的二进制日志记录了对 MySQL 所有的更改操作&#xff0c;不包括 select 和 show 等操作。二进制日志文件主要有&#xff1a;数据恢复、主从复制、审计&#xff08;判断是否有注入攻击&#xff09;等作用。 2、二进制日志参数配置 2.1、文件参数配置 linux 中 My…

安装nvidia driver出现 the cc vision check falied

这里提示说的需要gcc12,但是我只有gcc11,所以就报错了&#xff0c;说一说我自己的解决方法&#xff1a; 安装gcc12和g12,再切换版本为gcc12 安装gcc12: sudo apt install gcc-12安装g12: sudo apt -y install g-12切换版本&#xff1a;参考博客

Linux的SSH服务

一.SSH服务简介 1.什么是SSH SSH&#xff08;Secure Shell&#xff09;是一种安全通道协议&#xff0c;主要用来实现字符界面的远程登录、远程复制等功能。SSH 协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令&#xff0c;SSH 为建立在应…

【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(文件处理指令-上)

文件处理指令-上 背景前言专栏介绍面向对象重点内容文件处理命令file格式[options] 主要参数简单说明使用案例 mkdir格式[options] 主要参数应用实例 grep格式主要参数[optionsl 主要参数 应用实例pattern正则表达式主要参数 应用实例fgrep和egrep dd格式[options]主要参数 应用…

linux 网络设置

查看linux基础的网络配置 命令 网关route -nip 地址ifconfig / ip aDNS 服务器cat /etc/resolv.conf主机名hostname路由route -n网络连接状态ss / netstat 一&#xff0c;ifconfig 查看网络接口信息 &#xff08;一&#xff09;ifconfig …

设计模式—— 单例设计模式

单例设计模式 什么是单例模式 单例模式是一种对象创建型模式&#xff0c;使用单例模式&#xff0c;可以保证为一个类只生成唯一的实例对象。也就是说&#xff0c;在整个程序空间中&#xff0c;该类只存在一个实例对象。 为什么使用单例模式 在应用系统开发中&#xff0c;我…

【MIdjourney】镜头效果关键词

1.景深(depth of field) 景深&#xff08;DOF&#xff09;&#xff0c;是指在摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。镜头光圈、镜头距离、及焦平面到拍摄物的距离是影响景深的重要因素。 在MIdjourney中&#xff0c;该关键字会使得…

数字化时代,CDMP/CDGA认证企业个人都需要

&#x1f3af;数字化时代&#xff0c;CDMP(数据管理专业人士)和CDGA(数据治理工程师)认证对于企业和个人来说都是非常重要的。 &#x1f4d2;对于企业而言&#xff1a; ✅为企业赋能 数字化培训是企业在数字化转型中的重要考核标准之一。国资委、工信部、银保监会等都有明确的要…

Python之jieba分词相关介绍

1.jieba分词的安装 直接在cmd窗口当中pip install即可 2.jieba分词的介绍 jieba分词是目前比较好的中文分词组件之一&#xff0c;jieba分词支持三种模式的分词(精确模式、全模式、搜索引擎模式)&#xff0c;并且支持自定义词典(这一点在特定的领域很重要&#xff0c;有时候…