Git-撤销操作

极速建站!用1Panel面板一键部署Halo博客的保姆级教程 | 企业官网/个人博客搭建教程 个人博客是一种在互联网上发布自己的文章、图片、视频等内容的平台,通常以文字为主要形式,但也可以包含其他媒体。个人博客的用途非常广泛。它可以用来记录博主的日常生活、分享自己的知识和经验、展示自己的作品和技能,以及交流自己的观点和看法。通过个人博客,博主可以与读者建立联系,分享自己的见解和体验,同时也可以从读者那里获得反馈和建议。 阅读详情

撤销操作

​ 在任何一个阶段,你都有可能想要撤销某些操作。这里,我们将会学习几个撤消你所做修改的基本工具。 注意,有些撤消操作是不可逆的。 这是在使用 Git 的过程中,会因为操作失误而导致之前的工作丢失的少有的几个地方之一。

​ 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令来重新提交:

$ git commit --amend

​ 这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令), 那么快照会保持不变,而你所修改的只是提交信息。

​ 文本编辑器启动后,可以看到之前的提交信息。 编辑后保存会覆盖原来的提交信息。 例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:

$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend

​ 最终你只会有一个提交——第二次提交将代替第一次提交的结果。

取消暂存的文件

​ 当你已经修改了两个文件并且想要将它们作为两次独立的修改提交,但是却意外地输入git add *或git add . ( git add . 会把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤,但是git add *会忽略.gitignore把任何文件都加入)暂存了他们两个。如何只取消暂存两个中地一个呢?git status命令提示了你:

$ git add *
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    renamed:    README.md -> README
    modified:   CONTRIBUTING.md

​ 在 “Changes to be committed” 文字正下方,提示使用 git reset HEAD <file>... 来取消暂存。 所以,我们可以这样来取消暂存 CONTRIBUTING.md 文件:

$ git reset HEAD CONTRIBUTING.md
Unstaged changes after reset:
M	CONTRIBUTING.md
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    renamed:    README.md -> README

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   CONTRIBUTING.md

​ 这个命令有点儿奇怪,但是起作用了。 CONTRIBUTING.md 文件已经是修改未暂存的状态了。

撤销对文件地修改

​ 如果你并不想保留对 CONTRIBUTING.md 文件的修改怎么办? 你该如何方便地撤消修改——将它还原成上次提交时的样子(或者刚克隆完的样子,或者刚把它放入工作目录时的样子)? 幸运的是,git status 也告诉了你应该如何做。 在最后一个例子中,未暂存区域是这样:

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   CONTRIBUTING.md

​ 它非常清楚地告诉了你如何撤消之前所做的修改。 让我们来按照提示执行:

$ git checkout -- CONTRIBUTING.md
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    renamed:    README.md -> README

​ 可以看到那些修改已经被撤消了。

​ ⚠请务必记得 git checkout -- <file> 是一个危险的命令。 你对那个文件在本地的任何修改都会消失——Git 会用最近提交的版本覆盖掉它。 除非你确实清楚不想要对那个文件的本地修改了,否则请不要使用这个命令。

​ 如果你仍然想保留对那个文件做出的修改,但是现在仍然需要撤消, 请参考 Git 分支 保存进度与分支,这通常是更好的做法。

​ 记住,在 Git 中任何 已提交 的东西几乎总是可以恢复的。 甚至那些被删除的分支中的提交或使用 --amend 选项覆盖的提交也可以恢复 (阅读 数据恢复 了解数据恢复)。 然而,任何你未提交的东西丢失后很可能再也找不到了。

FPGA实现PID算法 PID 控制器表达式如下(引用某硕士论文 《基于FPGA的PID控制器研究与实现》): 其中,Kp为比例增益,Ti为积分时间常数,Td为微分时间常数,u(t)为控制量,e(t)为偏差。 在数字控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当短时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。 本文使用并行结构来实现。具有延时小,计算速度快的特点,但需要资源比较多。 利用图3.2所示并行结构实现方法 ,进一步将3.8式分解: ... 阅读详情

相关推荐

VSCode连接SAP ABAP开发环境

本文介绍了使用VSCode连接ABAP开发环境的详细步骤。首先通过SICF或SMICM事务码获取ABAP连接地址,然后安装ABAP remote filesystem插件。提供了两种创建连接的方法:通过命令面板逐步配置(输入服务器地址、账号、系统标识等)或直接编辑JSON配置文件。最后通过命令面板选择已创建的连接即可完成连接,连接成功后可在VSCode左侧工作区查看ABAP系统内容进行开发。JSON配置方式更为简便推荐。整个流程帮助开发者摆脱复杂的Eclipse配置,实现快速便捷的ABAP开发环境搭建。

weixin_45293769的博客 2206

四、Git本地仓库基本操作——查看提交历史和版本回退前进

查看git提交历史一般常用两个命令: git log 该命令会按照我们提交的时间线,然后列出所有的历史提交。示例:git log 显示的提交历史信息,一般包含下面4条信息:但是, 命令还有很多选项参数供我们选择,以便我们控制输出提交信息的形式。下表列出了 git log 命令的常用选项参数及作用:详细解释可参考下面这篇文章的解释:示例:如果要查看指定文件的修改记录可以使用 git blame 命令,命令格式如下: 示例:Git版本前进回退的本质是移动HEAD指针。HEAD指针,默认情况下都会指向最新的一次

luobeihai的博客 1万+

Windows Server+SqlServer Always On实战:5步搞定高可用集群搭建

本文详细介绍了在Windows Server环境中,通过5个关键步骤搭建SQL Server Always On高可用集群的实战指南。内容涵盖从底层故障转移集群配置、SQL Server实例启用Always On功能,到创建可用性组和侦听器的完整流程,并提供了核心运维与故障排查思路,帮助企业构建稳定可靠的数据库高可用架构。

milk5的博客 857

Git - 查看 commit 提交历史

查看 commit 提交历史

qq_41663420的博客 6971

在 Ansys CFX Pre 中配置 RGP 表的分步指南

掌握在 Ansys CFX Pre 中设置 RGP 表的技巧,以优化仿真精度和效率。

jkh920184196的博客 1664

手把手教你用STM32单片机控制双向可控硅调光(附完整代码+电路图)

本文提供了一套完整的STM32单片机控制双向可控硅实现灯光无级调光的实战方案。详细讲解了硬件电路设计,包括过零检测与隔离驱动,并剖析了基于定时器中断的软件核心逻辑,通过精准的相位角计算实现平滑的灯光强度控制。附有完整代码与电路图,适合嵌入式开发者实践。

weixin_29194255的博客 951

一个好的git学习教程

一个git学习教程。 url: http://progit.org/book/zh/ch2-4.html   截取一部分已备需要   撤消操作 任何时候,你都有可能需要撤消刚才所做的某些操作。接下来,我们会介绍一些基本的撤消操作相关的命令。请注意,有些操作并不总是可以撤消的,所以请务必谨慎小心,一旦失误,就有可能丢失部分工作成果。 修改最后一次提交 有时候我们提交完了才发现漏掉了几个...

anke1460 357

Sentinel-1 Burst数据处理避坑实录:从aria2c报错到wget脚本救场

本文详细介绍了Sentinel-1 Burst数据处理的完整解决方案,从下载困境到高效处理技巧。针对aria2c报错等常见问题,提供了增强版wget脚本和智能分组方法,显著提升下载成功率和处理效率,特别适合科研机构和企业级网络环境下的哨兵数据处理需求。

weixin_42641998的博客 282

Git 的使用及出现的问题

一、初始化Git 在自己方便的盘中新建一个文件夹,这里以Project为例,注意路径中不要含有中文字符。打开cmd命令窗口,操作如下: #初始状态在切换到项目目录 cd Project #初始化Git项目,成功后创建有一个.git隐藏文件 <Project> git init Initialized empty Git repository in Project/.git/ #在文件夹Project中添加一个文本文件README,md格式指Markdown格式(建议使用Notepad++编辑)

woruosuifenglang的博客 2785

用Playwright MCP让AI帮你完成所有浏览器自动化

Playwright MCP(Model Context Protocol)是微软基于 Playwright 框架推出的 AI 浏览器自动化新协议。它通过结构化快照数据和自然语言指令结合大型语言模型(如 GPT),实现无需编码的网页交互。无论你是要测试登录流程、抓取价格数据,还是用 AI 远程控制浏览器,Playwright MCP 都能大幅降低门槛,让“说人话”也能驱动自动化脚本。本篇将从功能介绍、技术架构、使用方法到实际场景,带你全面理解这一自动化革命。

todoitbo的博客 3万+

Spring AI 项目实战(一):Spring AI 核心模块入门

摘要:本文探讨了Spring Boot与Spring AI在Java生态下开发智能应用的技术融合。Spring Boot通过自动配置和嵌入式服务器简化企业级应用开发,其核心架构包括Spring Application和Web MVC框架。Spring AI则提供标准化接口,整合Hugging Face、TensorFlow等AI引擎,模块化支持NLP、CV和ML任务。文章通过代码示例展示了文本分类、图像处理和机器学习预测的实现,为开发者提供了Java生态下高效构建AI应用的解决方案。

博客 1525

git常用命令合集(建议收藏)

Git常用命令整理

xuxian的博客 1839

真正的工业级环形缓冲区(Circular Buffer)完整实现细节

永远不要永远不要ToArray()或AddRange()永远返回或两段Span永远用_head_tail% Capacity实现环形照着上面这套代码改,你的系统将彻底告别内存爆炸,从“实验室玩具”变成“产线战神”!需要我给你一个支持两段绘制的完整实现吗?

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 127

Git各种撤销操作

撤销git add操作git reset HEAD # 取消add操作并保留修改 git checkout -- #若继续该命令,则会删除掉刚刚的修改内容撤销git commit操作git reset --soft #可以回退到某个commit并保存之前的修改 从git log中取,取前7位即可 git reset

学习印记 Learning imprint 2万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Git 提交合并后撤销操作

fill:#333;color:#333;color:#333;fill:none;未提交已提交未推送已推送发现错误合并定位提交哈希合并状态判断中止合并选择撤销策略reset 回退revert 生成反向提交处理可能冲突完成撤销此文档完整记录了从问题定位到最终解决的完整流程,可作为 Git 合并问题解决的标准化参考手册。

lzb_gongcheng的博客 2299

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【Git】Git撤销add操作

https://git-scm.com/book/zh/v1/Git-基础-记录每次更新到仓库 查看Git状态 $ git status On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use &amp;amp;quot;git reset HEAD &amp;amp;amp;lt;file&amp;amp;amp;gt;...&amp;a

Errol's Blog 6万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

git撤销操作

场景命令(推荐)作用区域变化撤销工作区修改(未add)git restore 文件名工作区 → 恢复为暂存区/仓库版本撤销暂存区文件(已add未commit)git restore --staged 文件名暂存区 → 工作区(保留修改)修改最近一次提交信息本地仓库 → 替换最近一次提交撤销最近一次提交(保留修改)本地仓库 → 暂存区(保留修改)撤销远程提交(已push)git revert 提交ID + git push远程仓库 → 新增反向提交抵消旧提交注意:涉及--hard。

qq_53054149的博客 1679

Git如何撤销merge操作

Git如何撤销merge操作。当 merge 以后还有别的操作和改动时,用 git revert:该命令就是为撤销某次提交而存在的; 首先,我是明白100047dcc这次提交是有问题的,这是问题的源头; 也就是说,只要我们把这次提交的给撤销了,就不会有问题了! 步骤 一 查看merge commit的详细信息 结果报错了,报了一个Commit is a merge but no -m o...

微信公众号:一颗向上的草莓 8527

Git操作之 git add 撤销、git commit 撤销

Git操作之 git add 撤销、git commit 撤销

Bynine9的博客 3万+

git 撤销操作

情景一:工作区间修改代码改乱了,想直接撤销修改的。 git checkout -- filename 情景二:改错了工作区间的代码,并且添加到暂存区了,想要撤销这次操作。 git reset HEAD <filename> 这时候就回到了情景一。 情景三:提交了有bug的代码到版本库,想要撤销本次提交(回退到上一个版本)。 git reset --hard HEAD^ (上...

TauCrus的博客 445

git commit 后的多种撤销操作

作者:天还是那么蓝 原文地址:git使用情景2:commit之后,想撤销commit 写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: git reset --soft HEAD^ 这样就成功的撤销了你的commit 注意:仅仅是撤回commit操作,您写的代码仍然保留。 说一下个人理解: HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤

大饼不会飞的博客 15万+

git命令的撤销操作

文章目录撤销`git add .`撤销`Git init` 手滑在一个总目录下面输入了git init和Git add . 撤销git add . 撤销方法: ##命令 $git rm -r --cached . error: the following files have staged content different from both the file and the HEAD: ...

richard1230的博客 1364

Git Rebase 撤销操作全攻略

日常的Git操作中,rebase是一个非常有用的命令,它可以帮助我们整理提交历史,使代码库的提交记录更加清晰和线性。然而,有时候我们可能会不小心执行了rebase操作,或者在rebase过程中遇到了问题,需要撤销rebase操作。本文将详细介绍如何在不同情况下撤销rebase操作。

qixiyang9412的博客 2818

git:一些撤销操作

(会在当前提交后面,新增一次提交,抵消掉上一次提交导致的所有变化,所有记录都会保留)命令, 把一个文件本不想添加到暂存区的文件加到了暂存区,可用下面的命令撤销。如何撤销 Git 操作?Git的撤销和回滚命令总结。如何撤销 Git 操作?可以修改上一次的提交信息。恢复GIT不同区域的修改。二、撤销某次merge。四、从暂存区撤销文件。

techdashen的博客 1015

git revert 之后怎么撤销_git 必看,各种撤销操作

场景概念说明首先说明一个概念, git是一个分布式的版本控制工具,分布式即 git 管理的项目是有多个大致平等的仓库的。通过一个例子来说明这个东西。举一个最简单的使用场景: 你在github 建立了一个项目, 然后把已经初始化的项目拉到了本地(或者从本地push了内容到github)。 即: 此时github 和你本地都有了项目,且二者,已经建立了联系。此时这一个项目既有了两个仓库,一个在gith...

weixin_42463997的博客 4007

git如何撤销操作

这篇文章主要介绍一些基本的撤销操作的相关命令。 一、撤销暂存区文件 假设我们有两个txt文件(分别为a.txt,b.txt),不小心使用了git add .命令,两个文件全添加到了暂存区,如何撤销其中一个添加到暂存区的文件呢? 1.查看git状态 $ git status # On branch master # Changes to be committed: # (use ...

智识帮的博客 1536
上一篇: ASP.NET Core MVC从Controller传递内容协商数据到View
下一篇: Git-远程仓库的使用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值