当前位置: 首页 > news >正文

git提交到本地仓库了,怎么撤回

如果你想要撤回已经提交到本地仓库的更改,可以使用以下一些Git命令:

1. **撤回最后一次提交** (不保留更改):
   - `git reset --hard HEAD~1`:这会撤销最后一次提交,并且所有的更改都会丢失。

2. **撤回最后一次提交** (保留更改到暂存区):
   - `git reset --soft HEAD~1`:这会撤销最后一次提交,但是更改会保留在暂存区,你可以重新提交。

3. **撤回最后一次提交** (保留更改到工作目录):
   - `git reset --mixed HEAD~1`:这是默认选项,撤销最后一次提交,更改会保留在工作目录中。

4. **修改最后一次提交** (例如,添加遗漏的文件或修正提交信息):
   - `git add <遗漏的文件或更改>`:将需要重新提交的文件添加到暂存区。
   - `git commit --amend`:修改最后一次提交的信息或包括新的更改。

5. **撤回特定文件的更改**:
   - `git checkout -- <file>`:放弃对特定文件的更改。

6. **撤回所有未提交的更改**:
   - `git reset --hard`:放弃所有未暂存和已暂存的更改。
   - `git clean -fd`:清除所有未跟踪的文件和目录。

7. **解决冲突后撤回**:
   - 如果在合并或拉取时出现冲突,解决了冲突后,使用`git add`将解决后的文件添加到暂存区,然后`git commit`完成提交。

8. **使用暂存区(stash)功能**:
   - `git stash`:暂存当前工作进度,包括未提交的更改。
   - `git stash pop`:恢复之前暂存的工作进度。

9. **回滚到特定提交** (不保留之后的提交):
   - `git reset --hard <commit>`:将HEAD、索引区和工作目录都回滚到指定的提交。

请注意,使用`--hard`选项会丢失所有更改,因此在使用之前请确保这是你想要的操作,或者你已经备份了你的工作。如果你想要撤回已经推送到远程仓库的提交,那么情况会更复杂一些,可能需要使用`git push`的强制推送选项,但这会影响其他协作者的仓库状态。
 


注意:

撤回最后一次提交 (保留更改到暂存区)撤回到git add .这个命令运行后,撤回最后一次提交 (保留更改到工作目录)这个是撤回到没有执行git add .前

也就是:

- `git reset --soft HEAD~1`:这个命令会撤回最后一次提交,但保留更改在暂存区(staged)。这意味着所有在最后一次提交中所做的更改仍然被标记为将要提交的(即它们在暂存区)。这个命令不会改变工作目录(working directory),即工作目录中的文件不会被撤销更改。

- `git reset --mixed HEAD~1`(或简单地 `git reset HEAD~1`,因为这是默认行为):这个命令也会撤回最后一次提交,但更改会被保留在工作目录中。这意味着更改不再标记为将要提交的,它们回到了工作目录,就像你从未运行过 `git add` 一样。

简单来说:
- `--soft`:撤销提交,但更改保留在暂存区,你可以重新提交。
- `--mixed`(默认):撤销提交,更改保留在工作目录,需要重新 `git add` 到暂存区。
- `--hard`:撤销提交,所有更改都会丢失。(注意一般不用这个!!!)

如果你想要撤回到执行 `git add .` 命令之后,但还没有执行 `git commit` 的状态,你可以使用 `git reset --mixed HEAD~1`。这样,你将撤销最后一次提交,并且所有更改会出现在工作目录中,你需要重新 `git add` 这些更改,然后再次提交。
 

相关文章:

git提交到本地仓库了,怎么撤回

如果你想要撤回已经提交到本地仓库的更改&#xff0c;可以使用以下一些Git命令&#xff1a; 1. **撤回最后一次提交** (不保留更改): - git reset --hard HEAD~1&#xff1a;这会撤销最后一次提交&#xff0c;并且所有的更改都会丢失。 2. **撤回最后一次提交** (保留更改…...

lua学习(1)

vscode打开c或者lua文件 插件显示禁用&#xff0c;怎么开启插件。 1. lua 字符串 单个引号和双引号都可变量的定义默认是全局的删除一个变量将其赋值为nil即可 如&#xff1a; bnilnil还可以对表中的数据进行删除&#xff0c;也可删除一个表只要变量不是nil&#xff0c;变…...

SQL报错注入之updatexml

目录 1.updatexml报错原理 2.判断是否有注入点 我们在地址栏中输入?id1 我们在地址栏中输入?id1-- 3.updatexml报错注入 3.1爆库名 3.2爆表名 3.3爆字段名 3.4爆数据 1.updatexml报错原理 updatexml(xml_doument,XPath_string,new_value) 第一个参数&#xff1a;XML…...

单元测试的重要性

单元测试和测试驱动开发&#xff08;TDD&#xff09;是软件开发中的关键实践&#xff0c;它们有助于提高代码的质量和可维护性。以下是对单元测试和TDD的深入分析&#xff0c;以及如何使用Java中的测试框架来提高代码质量的指南。 单元测试的重要性 单元测试是针对程序中最小…...

mysql线上查询数据注意锁表问题

在数据库中&#xff0c;锁定是用来控制多个事务并发访问相同数据时的一种机制。正确的锁定机制可以保证数据的一致性和完整性&#xff0c;但如果不当使用&#xff0c;也可能导致阻塞和死锁&#xff0c;特别是在高并发环境中。长时间的锁等待不仅会影响当前的事务&#xff0c;还…...

UE5 右键菜单缺少Generate Visual Studio project files

前言 在安装完毕 ue5 后&#xff0c;看到别人右键菜单有 多出来的三个选项 &#xff0c;但是我却没有&#xff0c;如下图&#xff1a; 解决方式 1、在 “C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win64” 路径下有 UnrealVersionSelector.exe 文件。 …...

前端性能优化-webpack构建优化

前言 本文主要总结 webpack 构建优化相关的事情 PS: webpack 的每次更新都会带来很多的新特性&#xff0c;因此学习新知识的时候&#xff0c;不要专注于流程的配置和调参。因为流程终会简化&#xff0c;参数&#xff08;API&#xff09;终会升级。要抓大放小&#xff0c;把精力…...

Traefik:部署与实战

一、介绍Traefik Traefik是一个开源的反向代理和负载均衡器&#xff0c;专为现代化的微服务架构设计。它可以与各种容器化平台&#xff08;如Docker、Kubernetes&#xff09;和服务发现工具&#xff08;如Consul、Etcd&#xff09;集成&#xff0c;使部署和管理服务变得更加简…...

[Spring] SpringBoot统一功能处理与图书管理系统

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…...

实现吸顶效果,一个页面多个元素吸顶效果

前言 新业务开发用到了吸顶效果而且是一个页面滚动到不同的位置不同的元素进行吸顶叠加。我是基于uniapp去写的&#xff0c;原理思路都一样 代码部分 下面的代码我写了两种方法都是一样的一个是通过js控制变量添加元素一个是直接通过css样式进行控制 <!-- 上半部总览位置…...

【C++入门(下)】—— 我与C++的不解之缘(二)

前言 接上篇&#xff0c;继续来学习C&#xff0c;本篇内容大概有 引用&#xff0c;inline 和 nullptr。 六、引用&#xff1a; 6.1、引用的定义 引用不是新定义一个变量&#xff0c;而是给已存在的变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#xff0c;它…...

【数据结构】哈希应用-STL-位图

目录 1、位图的概念 2、位图的设计与实现 2.1 set 2.2 reset 2.3 test 3、C库中的位图 4、位图的优缺点 5、位图相关题目 1、位图的概念 面试题&#xff1a;给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个数是否在这4…...

Unbuntu 服务器- Anaconda安装激活 + GPU配置

一、Anaconda安装激活 1.更新 sudo apt-get update 2.安装wget、vim sudo apt-get install wget sudo apt-get install vim 3.安装Anaconda 进入这个网址&#xff1a;Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 点这里&#x…...

python 装饰器记录函数用时

装饰器 # 用于记录函数平均用时的装饰器 def average_time_decorator(func):times []def wrapper(*args, **kwargs):start_time time.time()result func(*args, **kwargs)end_time time.time()t end_time - start_timetimes.append(t) # 记录用时print(f"{func.__n…...

实验10 任何一个非0自然数m的立方均可写成m个连续奇数之和。

实验10 题目描述 任何一个非0自然数m的立方均可写成m个连续奇数之和。 例如&#xff1a; 1^3 1 2^3 35 3^3 7911 4^3 13151719 编程实现&#xff1a;输入一自然数n&#xff0c;求组成心的n个连续奇数。 【实验要求】 1、不允许用等差数列的方法求首项 2、要求使用双重循环&a…...

Jenkins的安装方式

一、Jenkins是什么 Jenkins是一款开源CI&CD软件&#xff0c;用于自动化构建、测试和部署软件等各种任务&#xff0c;以实现持续集成。 Jenkins支持各种运行方式&#xff0c;可通过系统包、Docker或者通过一个独立的Java程序。 二、安装方式 2.1禅道智能应用平台一键安装…...

网络之华为S5700S-52P-LI交换机系统恢复

一、需求说明 盒式交换机flash存储空间一般比较小&#xff0c;只有几百兆&#xff0c;部分比较可能不到100M。当然一般情况下也是够用的&#xff0c;只有在日志文件等占用较多&#xff0c;或者ios系统升级较多&#xff0c;bin文件占用较多的情况下可能出现不够用的情况。什么情…...

蜂窝网络架构

2G/3G 4G eNB RF-RRU eCPRI RRU-BBU 光纤 5G From 38.300 AMF处理信令等&#xff0c;UPF 用户面&#xff0c;后面还有SMF...

培训第二十二天(mysql数据库主从搭建)

上午 1、为mysql添加开机启动chkconfig [rootmysql1 ~]# chkconfig --list //列出系统服务在不同运行级别下的启动状态注&#xff1a;该输出结果只显示 SysV 服务&#xff0c;并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 要列出 systemd 服务…...

速盾:CDN回源失败都有什么原因?

CDN&#xff08;内容分发网络&#xff09;是一种通过将内容分发到全球各个边缘节点来提高网站访问速度和用户体验的网络技术。CDN回源失败是指CDN节点无法正常获取源站&#xff08;原始服务器&#xff09;上的内容。下面是一些可能导致CDN回源失败的常见原因&#xff1a; 网络故…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...