git-各种场景-撤销指令

一、撤销工作目录中的修改

1. 撤销文件的修改

如果你想撤销某个文件的修改,可以使用 git checkoutgit restore 命令:

# 使用 git checkout 撤销文件修改
git checkout -- <file># 使用 git restore 撤销文件修改
git restore <file>
2. 撤销所有文件的修改

如果你想撤销所有文件的修改,可以使用以下命令:

# 使用 git checkout 撤销所有文件修改
git checkout -- .# 使用 git restore 撤销所有文件修改
git restore .

二、撤销暂存区中的修改

1. 撤销某个文件的暂存

如果你已经将文件添加到暂存区,但想撤销这个操作,可以使用 git resetgit restore --staged 命令:

# 使用 git reset 撤销文件暂存
git reset HEAD <file># 使用 git restore --staged 撤销文件暂存
git restore --staged <file>
2. 撤销所有文件的暂存

如果你想撤销所有文件的暂存,可以使用以下命令:

# 使用 git reset 撤销所有文件暂存
git reset HEAD .# 使用 git restore --staged 撤销所有文件暂存
git restore --staged .

三、撤销最近一次的提交

如果你刚刚提交了代码,但发现有误,可以使用 git resetgit revert 命令:

1. 使用 git reset 撤销提交(保留修改)
git reset --soft HEAD~1
2. 使用 git reset 撤销提交(丢弃修改)
git reset --hard HEAD~1
3. 使用 git revert 撤销提交(生成新的反向提交)
git revert HEAD

四、修改或撤销某次提交

1. 修改最近一次提交

如果你想修改最近一次提交的信息或内容,可以使用 git commit --amend 命令:

# 修改提交信息
git commit --amend -m "新的提交信息"# 修改提交内容(需先暂存新的内容)
git add <file>
git commit --amend --no-edit
2. 撤销指定提交

如果你想撤销某次特定的提交,可以使用 git revert 命令:

git revert <commit_hash>

五、恢复删除的分支

如果你误删了一个分支,可以使用 git reflog 找到分支的最近一次提交并恢复:

# 查看 reflog 记录
git reflog# 恢复分支
git checkout -b <branch_name> <commit_hash>

六、丢弃未追踪的文件和目录

如果你想删除未追踪的文件和目录,可以使用 git clean 命令:

# 查看将删除的文件和目录
git clean -n# 删除未追踪的文件
git clean -f# 删除未追踪的文件和目录
git clean -fd

七、撤销变更记录中的合并

如果你需要撤销一次合并操作,可以使用 git revert -m 命令:

# 撤销合并提交
git revert -m 1 <merge_commit_hash>

八、总结

Git 提供了丰富的撤销和恢复操作的命令,适用于各种场景。无论是撤销工作目录中的修改、暂存区中的修改,还是撤销提交、恢复分支,Git 都能提供相应的解决方案。熟练掌握这些命令,不仅可以提高工作效率,还能减少出错的风险。

希望这篇文章对你理解和使用 Git 的撤销指令有所帮助。如果你有任何疑问或想进一步探讨的内容,欢迎在评论区留言!

个人名言:通过分享专业的技术知识和实践经验,助力更多开发者成长。

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

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

相关文章

【JAVA】深入理解Hutool中的Pair、Triple和Tuple:组合数据的新方式,方法返回多个值,嘎嘎香,谁用谁知道,比原生好用更强大

Hutool 是一个开源的 Java 工具库&#xff0c;提供了丰富且实用的功能&#xff0c;旨在减少 Java 程序员在日常开发中重复造轮子的工作。在 Hutool 中&#xff0c;Pair、Triple 和 Tuple 是三种用于组合和存储不同数量相关联数据的类。以下是这三个类的简介&#xff1a; 1、添…

Dify中的高质量索引模式实现过程

思考在什么情况下会使用到高质量索引模式呢?第1种情况是在知识库中上传文档,文档被拆分为段落后需要进行编码(增加);第2种情况是在召回测试的时候,需要对query进行编码(查询);第3种情况是当文档中的段落增加和更新时需要进行编码(增加和更新)。索引模式是针对知识库…

大数据开发之Hadoop

大数据开发之Hadoop Hadoop的发展Hadoop的三个功能组件一、HDFS 分布式文件系统 1、HDFS的基础架构2、HDFS基础操作命令3、HDFS WEB浏览&#xff1a;4、Big Data Tools插件5、使用NFS网关功能将HDFS挂载到本地系统6、HDFS数据存储7、NameNode 元数据8、SecondaryNameNode的作用…

用DrissionPage过某里滑块分析

最近我又在找工作了&#xff0c;悲哀啊~&#xff0c;面试官给了一道题&#xff0c;要求如下&#xff1a; 爬虫机试&#xff1a;https://detail.1688.com/offer/643272204627.html 过该链接的滑动验证码&#xff0c;拿到正确的商品信息页html&#xff0c;提取出商品维度的信息&a…

Golang|Shopee一面

1、一个有环的链表&#xff0c;如何确认链表有环&#xff0c;环的长度。 LeetCode 142。原题为判断链表是否有环&#xff0c;如果有环找到环的起点。本题修改为求环的长度&#xff0c;基本思路一致&#xff0c;依然为双指针。当快慢指针相遇之后&#xff0c;如果寻找环的起点&…

Java | Leetcode Java题解之第258题各位相加

题目&#xff1a; 题解&#xff1a; class Solution {public int addDigits(int num) {while (num > 10) {int sum 0;while (num > 0) {sum num % 10;num / 10;}num sum;}return num;} }

[Doris]阿里云搭建Doris,测试环境1FE 1BE

首先&#xff1a;阿里云的国内服务器千万不要用容器搭建&#xff0c;或者自己Dockfile构建镜像。两种方式都不得行&#xff0c;压根拉不到github的镜像&#xff0c;开了镜像加速器也拉不到&#xff0c;不要折腾了&#xff0c;极其愚蠢。 背景&#xff1a;现在测试环境&#xff…

Spring Boot1(概要 入门 Spring Boot 核心配置 YAML JSR303数据校验 )

目录 一、Spring Boot概要 1. SpringBoot优点 2. SpringBoot缺点 二、Spring Boot入门开发 1. 第一个SpringBoot项目 项目创建方式一&#xff1a;使用 IDEA 直接创建项目 项目创建方式二&#xff1a;使用Spring Initializr 的 Web页面创建项目 &#xff08;了解&#…

使用AJAX发起一个异步请求,从【api_endpoint】获取数据,并在成功时更新页面上的【target_element】

使用AJAX发起一个异步请求&#xff0c;从【api_endpoint】获取数据&#xff0c;并在成功时更新页面上的【target_element】 在Web开发中&#xff0c;使用AJAX&#xff08;Asynchronous JavaScript and XML&#xff0c;异步JavaScript和XML&#xff09;可以实现在不刷新整个页面…

19.x86游戏实战-创建MFC动态链接库

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

Chromium CI/CD 之Jenkins实用指南2024 - 常见的构建错误(六)

1. 引言 在前一篇《Chromium CI/CD 之 Jenkins - 发送任务到Ubuntu&#xff08;五&#xff09;》中&#xff0c;我们详细讲解了如何将Jenkins任务发送到Ubuntu节点执行&#xff0c;并成功验证了文件的传输和回传。这些操作帮助您充分利用远程节点资源&#xff0c;提升了构建和…

SAP中VF11调用的BAPI是什么,如何使用?

在SAP系统中&#xff0c;VF11是一个事务代码&#xff0c;用于冲销销售开票凭证&#xff08;即发票&#xff09;。虽然VF11本身不是一个BAPI&#xff08;Business Application Programming Interface&#xff0c;业务应用程序编程接口&#xff09;&#xff0c;但SAP提供了相应的…

3112. 访问消失节点的最少时间 Medium

给你一个二维数组 edges 表示一个 n 个点的无向图&#xff0c;其中 edges[i] [ui, vi, lengthi] 表示节点 ui 和节点 vi 之间有一条需要 lengthi 单位时间通过的无向边。 同时给你一个数组 disappear &#xff0c;其中 disappear[i] 表示节点 i 从图中消失的时间点&#xff0…

HTML+JS+CSS计算练习

可填 题目数量 数字范围 计算符号 题目做完后会弹窗提示正确率、用时 效果图 源代码在图片后面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevic…

【LabVIEW作业篇 - 2】:分数判断、按钮控制while循环暂停、单击按钮获取book文本

文章目录 分数判断按钮控制while循环暂停按钮控制单个while循环暂停 按钮控制多个while循环暂停单击按钮获取book文本 分数判断 限定整型数值输入控件值得输入范围&#xff0c;范围在0-100之间&#xff0c;判断整型数值输入控件的输入值。 输入范围在0-59之间&#xff0c;显示…

【转盘案例-弹框-修改Bug-完成 Objective-C语言】

一、我们来看示例程序啊 1.旋转完了以后,它会弹一个框,这个框,是啥, Alert 啊,AlertView 也行, AlertView,跟大家说过,是吧,演示过的啊,然后,我们就用iOS9来做了啊,完成了以后,我们要去弹一个框, // 弹框 UIAlertController *alertController = [UIAlertContr…

PHP基础语法(一)

一、初步语法 1、PHP代码标记&#xff1a;以 <?php 开始&#xff0c;以 ?> 结束&#xff1b; 2、PHP注释&#xff1a;行注释&#xff1a;//&#xff08;双斜杠&#xff09;或# 块注释&#xff1a;/* */ 3、PHP语句分隔符&#xff1a; 1&#xff09;在PHP中&#…

来参与“向日葵杯”全国教育仿真技术大赛~

可点击进行了解&#xff1a;“向日葵杯”全国教育仿真技术大赛 (sunmooc.cn) 本次大赛共分为四个赛道&#xff1a;自主命题赛道、教育知识图谱设计赛道、FPGA硬件扑克牌对抗赛道、EasyAR元宇宙空间设计赛道。 参赛对象 &#xff1a; 具有正式学籍的在校研究生&#xff0c;本科…

Gettler‘s Screep World 笔记 Ⅰ

夏促时候刚刚入坑&#xff0c;写个笔记叭~ 环境配置 参考 HoPGoldy 大佬的简书&#xff0c;先配置下开发环境 萌新去看大佬的详细教程&#xff0c;我这里比较简单&#xff0c;有前端基础的可以直接抄 VSCode 跳过 node 我配的是v18.18.2 换源 npm config set registry h…

Spring Boot集成syslog快速入门Demo

1.什么syslog&#xff1f; Syslog-ng是由Balabit IT Security Ltd.维护的一套开源的Unix和类Unix系统的日志服务套件。它是一个灵活的、可伸缩的系统日志记录程序。对于服务器日志集中收集&#xff0c;使用它是一个不错的解决方案。syslog-ng (syslog-Next generation) 是sysl…