码云gitee+git入门篇(三)——删除、回退

2023-10-29

一、删除文件、文件夹

1.删除文件,执行命令:

git rm 想要删除的文件的名字及其后缀
 
 
 
 
  • 1

这里写图片描述

可以看到在本地代码仓库testGit1中有三个文件,README.md、test1.txt和test2.txt,删除文件test1.txt,
但是如果不加文件后缀的话,会发现提示匹配不到文件,所以必须给全名
之后可以发现本地仓库已经没有这个文件了,但是刷新远程仓库会发现,这个文件依然存在,
这是因为在本地仓库改动过后,没有将现在的状态同步到远程仓库,所以需要执行一下commit和push命令:

git commit -m "对本次提交的描述信息"
git push
 
 
 
 
  • 1
  • 2

现在刷新远程代码仓库,可以看到文件test1.txt被成功的删除了。
这里写图片描述

2.删除文件夹,执行命令:

git rm 想要删除的文件夹的名字 -r
 
 
 
 
  • 1

这里写图片描述

可以看到在本地代码仓库testGit1中有一个名为test的文件夹,直接使用删除文件的命令无法删除文件夹,
会提示错误“not removing ‘test’ recursively without -r”,可以先执行一下git rm -help命令查看rm命令的使用详情,
其中添加-r表示允许迭代移除,所以git rm test -r可以删除test文件夹,之后执行commit和push操作即可,同上。

二、找回误删文件、文件夹

git对于版本的管理本质是对提交的管理,所以在每个操作后最好提交一下,便于之后需要回退,例如要找回上面操作中误删的文件test1.txt。

1.如果你现在正在进行某些更改,需要先推送远程仓库,否则回退之后,最新状态的内容就没有了。

2.执行命令:

git log
 
 
 
 
  • 1

这个命令会显示出提交日志,可以看到有一个增加了2个文件(test1.txt和test2.txt)的提交和删除test1.txt的提交:
这里写图片描述

每个提交都有自己的唯一标识,所以想要找回文件test1.txt,需要回退到提交删除操作的前一个状态,所以这里是回退到添加文件状态,执行命令:

git reset --hard 需要回退到的状态的commit标识号
 
 
 
 
  • 1

这里写图片描述

该命令的原理:git有个指向当前版本的HEAD指针,执行回退操作本质上是git把HEAD指针从当前状态指向想要回退到的状态,
所以回退的速度很快,需要回退到哪里,就让HEAD指向哪里就行,
可以看到提示说HEAD已经处于添加文件的状态了,此时查看文件也可以看到test1.txt文件。

3.如果在这个状态和最新状态之间又提交过很多文件,需要手动把这个找回的test1.txt文件拷贝出去一份,
再执行reset命令回到最新的状态:

git reset --hard 最新状态的commit标识号
 
 
 
 
  • 1

4.最新状态是没有刚刚找回的这个文件的,把test1.txt文件拷贝进本地仓库中,然后推送到远程仓库即可,执行命令:

git add .
git commit -m "对本次提交的描述"
git push
 
 
 
 
  • 1
  • 2
  • 3

这样就可以既找回了之前误删的文件,又没有丢掉中间状态的很多文件。
找回误删的文件夹和找回误删的文件操作完全相同,因为git不会识别你找回的是什么,只是回退到相应的状态而已。

过程示意图:

commit:1——>commit:2——>commit:3——>commit:4——>commit:5
                           误删                    最新状态
 
 
 
 
  • 1
  • 2

当你想要找回删除的文件的时候,先保存现在的状态即最新状态commit:5,然后回退到误删的前一个状态也就是commit:2,
这时候可以获取到已经删除的文件,把它拷贝出去保存一份,然后回到最新状态commit:5,
该状态下是没有已经删除的文件的,但是刚刚我们找到了它并拷贝了一份,现在把这个文件再拷贝进来到本地仓库中,
然后执行提交推送操作,会产生一个新的commit状态,这个就是在commit:5的基础上找回已删除文件后产生的最最新的状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

码云gitee+git入门篇(三)——删除、回退 的相关文章

  • 使用langchain+chatGPT搭建自有知识库问答机器人

    前言 自去年年底OpenAI发布ChatGPT以来 大型语言模型在人工智能领域掀起了一股热潮 随后 各家公司纷纷推出自己的大型语言模型 如百度的文心一言 讯飞的星火大模型等 在这个过程中 文本转图片和文本转视频等相关领域也备受关注 然而 很
  • C++泛型编程——模板,容器实现

    泛型编程 模板技术 模板实例化 模板的使用 模板参数 模板特化 函数模板特化 类模板特化 容器适配器 分离编译模式 泛型编程 泛型编程是编写和类型无关的逻辑代码 是代码复用的另一种手段 模板是实现泛型编程的一种技术 以往要编写一个通用的函数
  • mysql常用语句总结(一)

    连接数据库 mysql uroot padmin 使用数据库 use 库名 查看数据库列表 show databases 创建数据库 create database 数据库名称 删除数据库 drop database 数据库名称 查看当前数
  • javaEE和javaweb的区别

    JavaEE JavaEE 概念 Java EE Java 平台企业版 Java Platform Enterprise Edition 之前称为Java 2 Platform Enterprise Edition J2EE 2018年3月
  • OSI七层参考模型与5G协议

    计算机网络参考模型与5G协议 目录 计算机网络参考模型与5G协议 分层思想 OSI七层参考模型 OSI模型vsTCP IP模型 TCP IP协议组成 数据通信4要素 ARP工作原理 ICMP 数据封装过程 解封装过程 客户端和服务器的关系
  • 关于warning: #1295-D: Deprecated declaration (某函数) - give arg type的解决

    问题 使用keil5编写STM32单片机程序时 在头文件中声明了一个无参数的函数 并且没有返回值 出现warning 解决 在声明函数的括号中添加void 警告消除
  • Python异步请求:深入理解异步编程模型

    Python异步请求 深入理解异步编程模型 引言 随着现代应用程序对性能和响应速度的要求越来越高 异步任务请求成为了Python开发中重要的技术之一 本文将深入探讨Python中的异步任务请求的原理和用法 并提供详细的代码示例 帮助读者更好
  • 多元函数的极值matlab,利用MATLAB求多元函数的极值(2)

    利用MATLAB求多元函数的极值分两种情况 1 无约束条件 2 有约束条件 2 有约束条件下求极小值的方法 假设多变量非线性函数的数学模型为 min f x c x lt 0 ceq x 0 A x lt b Aeq x lt x lt b
  • python学习2.1列表

    一 初试列表 与C中的数组类似 1 列表的定义和输出 约定俗成 用 引起列表 eg 输入 band the beatles oasis eagles print band 输出 the beatles oasis eagles 2 列表元素
  • 【unity发布webgl】遇到的问题和解决办法

    1 发布部署出来的链接放到手机上测试 ios 20秒读条然后闪退 vivo 9秒读条闪退 小米 15秒进入 然鹅 资料只有130kb的图片 2 报这个警告 修改Build文件夹里的UnityLoader js取消 移动端展示弹出提示框 点击
  • 转移指令及延迟槽最详细讲解(转载)

    文章转自于 可以配合视频一起看 gt 计算机组成 视频 转移指令由于其自身的特殊性 总是会给我们带来一些麻烦 那对于流水线处理器来说 更是如此 转移指令会带来更多不良的影响 那我们应该如何应对和解决呢 这一节我们就来探索这个问题 我们先来看
  • 《HTTP权威指南》摘要

    目录 前言 第一章 HTTP 概述 第二章 URL 与资源 第三章 HTTP 报文 报文流 状态码 100 199 信息提示 200 299 成功 300 399 重定向 400 499 客户端错误 500 599 服务器错误 首部 通用首
  • latex自动生成中文目录_1分钟自动生成300页Word的目录,无需任何插件、代码!一看就会...

    一些特别的Word文档 尤其是篇幅特别长的文档 我们需要为其生成一个目录 以便于之后的查看 但是很多人都不知道如何在Word中生成目录 其实在Word中生成目录 并不难 今天小编就给大家分享一个1分钟能自动生成300页Word的目录的方法吧
  • 提高D3js力导向图加载速度(转)

    过去一段时间曾两次使用了 D3 力导向图来描绘族群关系 http bl ocks org mbostock 1062288 第一次用的时候不求甚解 交差了事 当时点也不多 很顺利完成了任务 这一次确不同 每个图里要渲染的有成千上万个点 每次
  • P1586 四方定理

    Powered by NEFU AB IN Link 文章目录 P1586 四方定理 题意 思路 代码 P1586 四方定理 题意 四方定理是众所周知的 任意一个正整数n 可以分解为不超过四个整数的平方和 给定的正整数n 编程统计它能分解的
  • CentOS7下安装python-pip

    在使用Docker的时候 有一个工具叫做 docker compose 安装它的前提是要安装pip工具 1 首先检查linux有没有安装python pip包 直接执行 yum install python pip 2 没有python p
  • SR-IOV 网卡虚拟化技术

    目录 目录 目录 SR IOV 在 KVM 中启用 SR IOV 网卡 手动挂载 VF 到虚拟机 指令方式挂载 SR IOV 的数据包分发机制 SR IOV SR IOV Single Root I O Virtualization 单根
  • nodejs升级

    https github com Kenshin gnvm logo GNVM Node js 多版本管理器 Travis Version Gitter Slack Jianliao GNVM 是一个简单的 Windows 下 Node j
  • Redis之String字符串

    一 基础知识 1 字符串在Redis中都是以二进制的形式存储 2 Redis字符串是动态字符串SDS 因此可以直接使用append命令添加新值 APPEND key value 如果 key 已经存在并且是一个字符串 APPEND 命令将
  • 最新广东省知识产权贯标奖励及补助政策汇总大全,包括广州、深圳等

    华夏泰科小编认为知识产权贯标简单的说 就是要搞清知识产权工作要 做什么 怎样做 谁去做 通过贯标 企业应建立相应管理机构 明确有关部门职责 结合生产经营流程开展知识产权活动 保证知识产权管理体系有效运行 以下是最新广东省知识产权贯标奖励及补

随机推荐

  • Unity Animator Controller

    一 Transition参数解释 Transition的优先级 点击某个状态 监视面板会出现所有该状态到其它状态的Transition 排在前面的优先级更高 Solo 测试结果 如果此时切换到A和B状态的条件都满足 则会优先切换到Solo勾
  • 统计项目代码行数(SpringBoot +Vue)

    有用的文件是 java xml vue js html package com example demo import java io program mybatiplusTest description author created by
  • 零基础30岁转行大数据行业,可行吗?

    一 大数据是否值得投入 我们先来讨论下大数据是不是值得大家从事的一项职业 如下问题 大数据为啥这么有诱惑力 是否值得投入 现在进去晚了吗 首先 大数据企业众多 逐步形成产业化 从08年开始 大数据就成为互联网信息领域的大热门 由此而来 大数
  • java jenkins api_Jenkins 常用 REST API介绍(Java 客户端)

    jenkinsLogo 背景 Jenkins 作为项目构建 持续部署必不可少的工具 如何使用程序或者脚本来控制构建流程成为本文研究的内容 默认情况下 安装好Jenkins后 api路径下面有一些基本 api 的介绍 可供参考 但是不是很直观
  • ClickHouse学习教程

    概述 官网 a fast open source OLAP database management system It is column oriented and allows to generate analytical reports
  • 20180614 MATLAB环境下自动代码生成

    为加速软件开发过程 汽车电子开发过程会采用自动代码生成技术 目前该技术主要集中于应用层控制策略和算法的开发 将传统的算法与软件代码的两个步骤 实现为算法的开发及测试集成于一体的发开模式 现阶段国内较成熟的自动代码生成技术主要有两大类 MAT
  • 边框border相关属性以及其他注意点

    一 边框 border 单独设置 border top 边框的宽度 边框的线型 颜色 顺序可以随便调 border bottom border left border right 线型 实线 solid 虚线 dashed 双线 doubl
  • 【C语言技巧】位域在在嵌入式中的应用

    位域的概念 位域 或者也能称之为位段 英文表达是 Bit field 是一种数据结构 可以把数据以位元的形式紧凑的存储 并允许程序员对此结构的位元进行操作 这种数据结构的好处是 可以使数据单元节省存储空间 当程序需要成千上万个数据单元时 这
  • 【Mybatis-Plus】分页简单使用

    大纲 一 前期准备 1 创建测试表 用户并插入数据 2 导入mybatis plus依赖 3 连接数据库 application yaml 4 生成实体类 5 配置类 二 Mybatis Plus帮助文档分析 三 功能实现 1 总览目录结构
  • 如何编写安装openjdk15的dockerfile

    方法一 从官方网站下载 openjdk 15 tar 文件 解压文件 删除下载的 tar 文件并将路径设置为 java 二进制文件 创建一个 Dockerfile 并复制以下内容 FROM centos 8 ENV PATH PATH op
  • html标签%3cdd%3e,www.cuda.com.cn

    HTTP 1 1 200 OK Cache Control private Content Length 4914 Content Type text html Charset UTF 8 Server Microsoft IIS 7 0
  • 每日一书丨pandas 筛选数据的 8 个神操作

    大家好 我是东哥 本篇是pandas神操作系列的第 20 篇 pandas筛选数据的 8 个神操作 日常用Python做数据分析最常用到的就是查询筛选了 按各种条件 各种维度以及组合挑出我们想要的数据 以方便我们分析挖掘 东哥总结了日常查询
  • vue3基础之toRefs方法

    toRefs方法使用 初级用法 在项目中常常会使用解构语法 对需要的数据进行解构 但是在vue3中直接解构的数据是不具有响应式的 所以Vue3提供了toRefs方法专门用来解构出响应式的数据 高级用法 将一个响应式对象转换为一个普通对象 这
  • Java Boolean类型的变量,赋值之后的问题,通过反编译之后的代码可以看的很清晰

    今天在看Java基础知识的时候 遇到一个关于Boolean类型的值 初始化一个false 然后再重新赋值为true或者fasle的一个奇怪问题 下面通过例子介绍下这个问题 以及为什么会出现这样问题的分析 例1 初始化为false if里面重
  • VS2019 This application failed to start because no Qt platform plugin could be initialized

    解决C This application failed to start because no Qt platform plugin could be initialized Reinstalling the application may
  • 华为OD机试 - 事件推送(JS)

    题目描述 同一个数轴X上有两个点的集合A A1 A2 Am 和B B1 B2 Bn Ai和Bj均为正整数 A B已经按照从小到大排好序 A B均不为空 给定一个距离R 正整数 列出同时满足如下条件的所有 Ai Bj 数对 Ai lt Bj
  • Linux-4.x_x _64 内核配置选项简介

    Gentoo LinuxGentoo内核 gentoo sources 特有的选项 Gentoo Linux support CONFIG GENTOO LINUX 选 Y 后 将会自动选中那些在Gentoo环境中必须开启的内核选项 以避免
  • tikv的操作

    tikv的操作 kvproto master proto raft cmdpb proto message Request optional CmdType cmd type 1 optional GetRequest get 2 opti
  • Java中的取模,取余

    一 取余 得出的结果 是数学里除法结果的取整 例如 10 3 3 333 得到的结果是3 0 正负符号与数学里除法算法一致 小数点也是与数学里除法算法一致 二 取模 5 3 gt 2 5 3 gt 2 5 3 gt 2 5 3 gt 2 5
  • 码云gitee+git入门篇(三)——删除、回退

    书接上回 码云gitee git入门篇 二 代码托管 继对在码云上进行代码托管的简单介绍之后 这篇博客主要介绍一点git的删除和回退操作 说明 这里使用的代码托管方式是码云gitee git入门篇 二 中的第2种简单方式 一 删除文件 文件