git reset

Git:Git重置(git reset) 一、分支游标master的探秘 1.查看.git/refs/heads/master执行的commit为f22d9e; 2.通过查看git log可以知道当前的master分支执行最新的commit为f22d9e; 3.新建文件new-commit.txt,并进行新的提交,使master分支指向刚创建的commit为c132b2c; 阅读详情

Git reset

  • 作用:将工作从暂存区退回到工作区
  • 有下面几种参数

    1. git reset HEAD filename

      将filename从暂存区退回到工作区
      先进行提交到暂存区:

      [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt
      [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git status
      On branch dev
      Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
      
      modified:   a.txt

      回退:

      [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git reset head
      Unstaged changes after reset:
      M a.txt
      [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git status
      On branch dev
      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:   a.txt
      
      no changes added to commit (use "git add" and/or "git commit -a")
    2. git reset head~n

      mixed方式,默认无参;
      回退版本,^和n代表版本数,这里直接回退到未暂存阶段
      先用

      git log -n

      查看一下最近n次提交的日志:

      lkcdeMacBook-Pro:gitSample lkc$ git log -3
      commit 037a1bdaa48667e2fa3e62678b3d3f62dc2b6b7b
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:11:10 2017 +0800
      
        e2
      
      commit f9c2fdc70cfa68d7c42466b5f8f3a5cab1bc651c
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:10:26 2017 +0800
      
        a
      
      commit 948836a561b210d14424a1efe631cda549b566f3
      Author: lkc <lkc@lkcdeMacBook-Pro.local>
      Date:   Mon Jun 5 17:10:15 2017 +0800
      
        commit information

      回退之后查看:

      lkcdeMacBook-Pro:gitSample lkc$ git reset head~2
      lkcdeMacBook-Pro:gitSample lkc$ git log -3
      commit 948836a561b210d14424a1efe631cda549b566f3
      Author: lkc <lkc@lkcdeMacBook-Pro.local>
      Date:   Mon Jun 5 17:10:15 2017 +0800
      
        commit information
    3. git reset –soft head~1

      将版本库软回退到前一个版本,就是将将本地版本库的头指针重置到上一个版本,且将这次回退之后的所有变更移到缓存区.

      lkcdeMacBook-Pro:gitSample lkc$ git log -3
      commit c70659c624382a8b87de1c19063989fc38c44f4c
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:22:49 2017 +0800
      
        e2,f2
      
      commit 43e7ac4eddf470c30b29c9b37c53deb65cf78222
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:22:22 2017 +0800
      
        c2,d2
      
      commit 62fe9fd3c5fe0de520000bae8b435502663373c2
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:22:08 2017 +0800
      
      a2,b2

      软回退:

      lkcdeMacBook-Pro:gitSample lkc$ git reset --soft head~1
      lkcdeMacBook-Pro:gitSample lkc$ git log -3
      commit 43e7ac4eddf470c30b29c9b37c53deb65cf78222
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:22:22 2017 +0800
      
        c2,d2
      
      commit 62fe9fd3c5fe0de520000bae8b435502663373c2
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:22:08 2017 +0800
      
        a2,b2
      
      commit 948836a561b210d14424a1efe631cda549b566f3
      Author: lkc <lkc@lkcdeMacBook-Pro.local>
      Date:   Mon Jun 5 17:10:15 2017 +0800
      
        commit information
      lkcdeMacBook-Pro:gitSample lkc$ git status
      On branch master
      Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
      
      new file:   e.txt
      new file:   f.txt
    4. git reset –hard head~1

      回退版本,不仅将本地版本库的头指针指向上一个版本还会重置暂存区,并将本地的工作区代码也回退到该版本.
      原来e.txt的内容:

      this is e2.txt

      修改后:

      this is e3.txt

      提交:

      lkcdeMacBook-Pro:gitSample lkc$ git add e.txt
      lkcdeMacBook-Pro:gitSample lkc$ git commit -m "e3"
      [master 6b057ba] e3
      1 file changed, 1 insertion(+), 1 deletion(-)
      lkcdeMacBook-Pro:gitSample lkc$ git log -2
      commit 6b057ba047f012b13b822016fb3b2f8b6946ae4b
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:32:25 2017 +0800
      
        e3
      
      commit 99c0d29602438a20bf4007e2494b52044a58187b
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:25:43 2017 +0800
      
        e3,f3    

      回退并查看日志:

      lkcdeMacBook-Pro:gitSample lkc$ git reset --hard head~1
      HEAD is now at 99c0d29 e3,f3
      lkcdeMacBook-Pro:gitSample lkc$ git log -2
      commit 99c0d29602438a20bf4007e2494b52044a58187b
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:25:43 2017 +0800
      
        e3,f3
      
      commit 43e7ac4eddf470c30b29c9b37c53deb65cf78222
      Author: xxx <xxx.com>
      Date:   Tue Jun 6 10:22:22 2017 +0800
      
        c2,d2    

      查看e.txt:

      this is e2.txt

      git reset帮助

git之reset命令 1.简介 git-reset:将当前的HEAD重置为指定状态,也就是重置顶部commit的引用 2.概要 git reset [-q] [<tree-ish>] [--] <pathspec>…​ git reset [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>] git reset (--patch | -p) [<tree-is... 阅读详情

相关推荐

深入解析UE5内存分析:从Memreport到Unreal Insights

本文深入解析了UE5内存分析的两大核心工具:Memreport与Unreal Insights。Memreport提供详细的内存快照,帮助定位UObject等资源的内存占用;而Unreal Insights则能进行实时监控与历史回溯,精准追踪内存泄漏。掌握这两款工具是优化UE5项目性能、确保大型项目稳定运行的必备技能。

lg888的博客 1009

git reset详解

git

赵凯月的博客 3万+

OPNET网络仿真实验

外网

嚴 帅的博客 1万+

git的使用——reset

git reset 命令用于回退版本,可以指定退回某一次提交的版本。有三种命令方式。

以沫wh的博客 5万+

【maxENT】从数据到地图:R语言实现最大熵物种分布建模全流程解析

本文详细解析了如何使用R语言实现最大熵模型(MaxEnt)进行物种分布建模的全流程。从数据准备、环境变量处理到模型训练与参数调优,再到模型评估与结果可视化,提供了实用的代码示例和避坑指南。特别适合生态学研究者利用最大熵模型处理物种分布数据,提升研究效率。

weixin_27244795的博客 216

ITK-snap医学图像标注方法(超级详细)——保姆级

医学3D图像标注方法,非常详细,保姆级

jialiyk的博客 3万+

git reset --hard详解

在使用git开发的过程中,经常会使用到 git reset这个命令。 比如回退到上一个版本,使用命令: git reset HEAD^ 或者 git reset --hard HEAD^ 这时就会有一些小伙伴会问了,加**–hard和不加有什么区别? 加–hard时,不但将本地的HEAD指针指向了上一个版本,重置了暂存区的内容,而且还修改重置了本地工作区的内容**

weixin_45683963的博客 3万+

GhidrAssist:AI驱动的逆向工程助手实战指南

逆向工程是分析软件内部工作原理、理解二进制代码逻辑的关键技术,广泛应用于软件安全、恶意代码分析和漏洞挖掘等领域。其核心原理在于通过反编译、控制流与数据流分析等手段,将机器码还原为可理解的高级语言表示。传统逆向分析高度依赖人工经验,面对海量代码时效率低下且易出错。随着大语言模型(LLM)技术的发展,其强大的代码理解与推理能力为自动化逆向分析提供了新的可能。通过将LLM与成熟的逆向工程框架(如Ghidra)相结合,可以构建智能辅助系统,实现代码意图的自动解释、变量/函数的智能重命名以及潜在漏洞模式的辅助识别,从

weixin_42547335的博客 596

git分支管理

简介       在开发大型项目中,很多情况下不同开发人员负责开发不同的模块,这时效率就显得尤为重要,git的分支管理明确而简洁地解决了大部分问题 用法 新建一个分支 [lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br * master [lkc@lkcdeMacBook-Pro:] ~/Des

github_36596363的博客 512

离线迁移 Conda 环境到 Windows 服务器:用 conda-pack 摆脱硬路径限制

在进行深度学习算法的环境部署时,由于生产服务器被彻底隔离外网,只能把conda中env文件夹中的虚拟环境文件夹从开发机直接拷到Windows 服务器,但在运行labelimg等工具时可能报错,因此用conda-pack来解决。

weixin_44115575的博客 1427

华为OD机试 - 物流仓储多维度成本利润综合查询系统 - 二维数组(Python/JS/C/C++ 新系统 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。某物流企业在全国多个仓库开展仓储业务,需要对不同仓库、不同时段的入库成本、出库收入和库存损耗进行综合统计分析,用于生成 日报、周报和月报。字段说明及取值范围如下:warehouses: int[] 扁平化数组 [w0d0in, w0d0out,

学Java,找哪吒 309

git reset 命令详解 git revert命令详解。

git reset 是代码回退到某一版本,git revert 是代码将某一次提交的代码改动回退掉(新建一个commit记录进行回退)。 在git的这些命令中git reset是最长常用的,也是最危险的最容易被误用的。它的主要参数是:soft,mixed,hard它们告诉git,当执行reset是,要对index和working copy做什么。

wangdawei_的博客 1万+

OpenGL ES 3.0 从入门到精通系统性学习教程

因为在工作中频繁使用 OpenGL ES 做一些特效、滤镜之类的效果,加上平时学到的的知识点也比较细碎,就想着去系统地学习下 OpenGL ES 相关开发知识,并将学习过程记录下来。

字节流动 3万+

Git reset 之后 怎么恢复到 reset 之前的节点

Git reset 之后 怎么恢复到 reset 之前的节点 首先定位到 工程目录\ .git\logs\refs\heads 这里会显示本地对应的分支名字(master、 dev 等等) 然后找到你 reset 的分支名字, 比如 master 用 notepad++ 获取其他编辑器打开这个文件 0000000000000000000000000000000000000000 9e6a4411ffa8b857680d923916ae329795a27e39 username email 时

103style 4365

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Git系列之Git Reset

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的Git Reset是git中最常用的命令,但也是最危险,最容易被误用的命令。<commit><commit><mode>. If<mode>--mixed. The<mode>该格式的“git reset”重置当前的head到commit,可能更新索引(重置到commit树),工作树(工作目录)取决于模式mode。如果模式省去,则默认为mixed模式。模式必须是以下几种。

云纳星辰怀自在 1272

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

git reset 3种方式

git reset命令有3种方式: 1、git reset --mixed: 此为默认方式,等同于不带任何参数的git reset。 2、git reset --soft: 回退到某个版本,只回退了commit的信息,如果还要提交,直接commit即可(修改的内容变成未add的状态),索引(暂存区)和工作目录的内容是不变的,在三个命令中对现有版本库状态改动最小。 3、git reset ...

qinwenjng120的博客 4万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【git reset】我终于真正理解了 git reset

Git Reset 的本质与边界:何时该用,何时不该用 Git reset 常被视为危险命令,但关键在于理解其作用原理。Git 存在三个层次:提交历史、暂存区和工作区。reset 的本质是移动 HEAD 指针,并根据三种模式(--soft/--mixed/--hard)决定是否同步暂存区和工作区。 --soft 保留改动到暂存区,适合修改提交信息;--mixed(默认)保留改动但需重新 add,适合拆分提交;--hard 彻底删除改动,适合放弃实验性代码。 使用边界在于是否影响协作: ✅ 个人分支最新提交可

Rabbit_QL的博客 969

git reset --hard、git reset --sort及git revert区别

一、 在git操作中,有时候,进行了错误的提交,但是还没有push到远程分支,想要撤销本次提交,可以使用git reset –-soft/hard命令。 1、二者区别: git reset –-soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可; git reset -–hard:彻底回退到某个版本,本地的源码也会变为上...

GarfieldEr007的专栏 3090

git reset HEAD 与 git reset --hard HEAD的区别

感谢原文作者:天地逍遥 原文链接:https://www.jianshu.com/p/aeb50b94e6c0 git reset HEAD 是将咱暂存区和HEAD的提交保持一致 git reset --hard HEAD 是将工作区、暂存取和HEAD保持一致 测试 git reset HEAD 创建一个readme.md 的文件 创建一个commit 执行以下命令 git add ...

Jason的学习笔记 2万+

git reset 和 git rebase

git reset和git rebase是 Git 中两个重要的版本控制命令,但它们的作用和工作方式完全不同。:撤销提交,移动HEAD指针到指定的提交记录(丢弃后续提交)。

song854601134的博客 477

git add 和 git reset

git add 和 git reset牵扯到很多对.git目录下文件的修改和操作,从大体上讲,这两个操作是互逆的。想要搞懂它们之间的关系和互逆性,就先要搞懂这两个操作的底层操作。使用$ git add –help查看git的具体含义。git-add - Add file contents to the index ----意为将文件内容添加到索引。如果这个文件已经有索引了,add还有一层意思,如果

lyjshen的专栏 2966

git reset 命令

git reset 命令

xiaozhi 768

git reset vs git revert

git reset vs git revert

太阳与星辰的博客 905

彻底搞懂 Git 的两大家族:git reset 与 git restore

这篇技术博客深入浅出地解析了 Git 的核心流转机制与撤销哲学。文章首先通过“海外跨国电商”的生动比喻,将抽象的**工作区、暂存区、版本库和远端库**具象化为车间、卡车、档案馆与总部,清晰梳理了代码在四大空间的正反向流转。随后,文章为被严重误解的 `git add` 正名,揭示了其记录新添、修改、删除和解冲突四种“状态变动”的底层本质,并以此拆解了 `git commit -am` 漏掉新文件的陷阱。最后,博客详细阐述了新版 Git 将 `git reset`(历史时空倒流)与 `git restore`(

greenspan的专栏 505

git revert 与 git reset 的区别

用于直接回退到某个提交,可以选择性地影响提交记录、暂存区和工作区。它通常用于修改本地历史,不适合协作环境中使用。它非常适合在协作环境中使用,因为它不会修改提交历史,从而避免影响其他开发者的工作。执行后,Git 会打开一个编辑器,提示输入新提交的消息。你可以直接保存或修改提交信息。)选项,先将所有撤销的更改放入暂存区,然后再一次性提交。如果不小心把某些文件添加到了暂存区,可以通过。如果你想一次撤销多个提交,可以使用。如果需要撤销一个合并提交,需要使用。用于撤销指定的提交,通过。选项指定要保留的父分支。

学亮编程手记 1671
上一篇: Maven入门
下一篇: gitignore
xdlkc
博客等级 码龄10年 3粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值