TortoiseGit 入门指南11:还原与重置

news2024/12/23 5:59:54

Git 就像个时光机器,能让我们还原到任何提交。

还原未提交的更改

假如我们在查看一个干净的代码仓库,干净意味着工作区中的文件保持着最后一次提交的状态,没有修改。在查看的过程中,我们有意或无意的修改了工作区中的文件,之后我们想把这些文件恢复成查看前的样子。像这样要还原自上次提交以来在工作区所做的所有更改,方法为:选中所有更改文件的父目录,鼠标右键单击,在弹出的上下文菜单中,选择 TortoiseGit - Revert
在这里插入图片描述
弹出还原对话框,在该对话框中,选择全部,单击 “OK” 键,自上次提交以来的所有修改会全部还原。这意味着工作区中的内容重新变得和最后一次提交时的内容一致。
在这里插入图片描述
注:

  1. 如果只是还原一个文件,可以选中该文件,鼠标右击 - TortoiseGit - Revert
  2. 如果要还原 已删除重命名 文件, 必须要选中父目录,鼠标右击 - TortoiseGit - Revert,这是因为工作区中已经找不到该文件了。
  3. 如果还原 已删除重命名新添加 文件,也可以在提交(commit)时、查看仓库状态(status)时选择相应文件,使用右键菜单 - Revert... 。比如在提交对话框中,如果你发现 README.md 文件是意外修改的,你不想提交它,而是要把它恢复,这时只需要选中 README.md 文件,鼠标右击 - Revert...
    在这里插入图片描述

还原已提交的更改

上面的 Revert 操作只能还原本地工作区中的更改,如果要还原已经提交的更改,则需要在 日志对话框 中操作:

  1. 选中仓库,鼠标右击 - Git Show log ,打开日志对话框;
  2. 选择要还原的提交,鼠标右击 - Revert change by this commit,即可完成还原。如果你还原了最后一个提交,最后一个提交的信息仍然保留着,但工作区中最后一次提交修改的内容已经被还原;
  3. 马上进行一次提交,或者修改工作区的内容后再提交。

在这里插入图片描述
注:虽然你还原了最后一次提交的修改,但是最后一次提交仍然会存在你的仓库中,并且可以在日志对话框中看到。

重置

如果你提交了几次后,出于某种原因,最近的几次提交不想要了,你想回到某个提交,就像最近的几次提交不存在一样。实现这种情景的是 重置(reset)。

重置仍然在日志对话框中操作。如下图所示,我想将某个仓库重置到“feat: 增加颜色区分AQI等级”提交:选中该提交,鼠标右击 - Reset "master" to this...
在这里插入图片描述
这将打开重置对话框,如下图所示:
在这里插入图片描述
这里有三种 重置类型 (Reset Type):

  1. Soft:软重置。之前的提交内容不删除,全部还原到工作区,这些文件处于 已暂存 状态,通过 Git 命令可以看出:
    在这里插入图片描述
  2. Mixed:混合重置。这是默认设置。之前的提交内容不删除,全部还原到工作区,这些文件处于 已修改 状态,通过 Git 命令可以看出:
    在这里插入图片描述
    注:这里用到 Git 命令只是为了说明 Soft 模式 和 Mixed 模式的细微差别,之所以用 Git 命令,是因为除了叠加的图标, TortoiseGit 看不出来这两种模式的区别。换句话说,如果你使用 TortoiseGit ,你可以无视 Soft 模式 和 Mixed 模式的区别,使用任何一个都可以。
  3. Hard:硬重置。之前的提交内容全部删除,并不会还原到工作区。工作区只保留这次提交的内容,即“feat: 增加颜色区分AQI等级”提交的内容。

所以如果你确定不要某些提交,选择 硬重置 即可。









读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
千金难买知识,但可以买好多奶粉

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

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

相关文章

《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话

1.简介 前边几篇宏哥介绍了Charles界面内容以及作用。今天宏哥就讲解和分享如何设置Charles后,我们就可以愉快地捕获会话,进行抓包了。因为上一篇许多小伙伴看到宏哥的Charles可以分开看到request和response,而自己的却看不到,因…

WEB:FlatScience

背景知识 sql注入 SQLite数据库知识 SQLite3注入方法 题目 用dirsearch进行扫描,下面几个关键目录:robots.txt,login.php,admin.php,剩下的目录就是一些pdf格式的论文了 一个一个访问并查看源代码,在查看l…

23款奔驰S400豪华型升级4D旋转高音,提升车内氛围

奔驰加装4D旋转高音,让高音“有型有色”,高端4D环绕立体声音响系统的视觉效果同样令人印象深刻:系统启动时,安装在前车门后视镜三角板中的两个高音头会与同色车内氛围灯一块亮起,同时向外旋出10mm至最佳效果位置,以提高…

【AutoGluon_01】自动机器学习框架的安装与示例

文章目录 一、安装二、示例一 AutoGluon预测目标数据1、导入数据2、训练3、预测4、评估5、小结 三、示例二 AutoGluon多模态预测(Multimodal Prediction)1、导入数据2、训练3、预测4、评估 四、示例三 AutoGluon进行时间序列预测1、导入数据2、训练3、预…

【redis】redis管道简述

redis管道可以一次性发送多条命令。 命令示例如下: [xxxlocalhost ~]$ echo -e "set k4 99\nincr k4\nget k4" | nc localhost 6379 \OK :100 $3 100下面先简述一下这条命令的组成,再简述一下管道的常用场景和注意事项。 首先,|是…

跨越山海,爱在滇西|拓数派为滇西孩子点亮科学梦想

近日,拓数派在共青团浙江大学委员会、景东县教育体育局和景东团县委等单位指导下开展“爱在滇西”2023年公益助学活动,并携手浙大国际科创中心、浙大微纳电子学院、启真科技控股公司和北京德恒律所共同向景东浙大求是中学捐赠爱心助学金,用于…

微信小程序的目录解析--【浅入深出系列002】

浅入深出系列总目录在000集 如何0元学微信小程序–【浅入深出系列000】 文章目录 本系列校训学习资源的选择先说总目录经常碰到的文件(目录)最最常见的目录pages次最常用的就是images 目录 操作起来真正的操作 配套资源 本系列校训 用免费公开视频,卷…

OpenCVForUnity(八)文本与随机数

文章目录 前言putText (绘制文本)randn (正态分布随机数)randu(均匀分布随机数)randShuffle (数组随机重排)结语 前言 本教程将介绍如何使用随机数生成器类RNG以及从均匀分布中获取随…

LIMA:小规模监督数据指令微调

论文标题:LIMA: Less Is More for Alignment 论文链接:https://arxiv.org/abs/2305.11206 论文来源:Meta AI 一、概述 语言模型在大规模语料上以预测下一个token的方式预训练,使它们能够学习可迁移到几乎任何语言理解或生成任务的…

让小程序动起来-轮播图的两种方式--【浅入深出系列003】

浅入深出系列总目录在000集 如何0元学微信小程序–【浅入深出系列000】 文章目录 本系列校训学习资源的选择啥是轮播图轮播图的关键代码最常见的轮播图代码便于理解的轮播代码两种轮播代码的比较 实际操练第一步,就是找到文件。第二步,先改动一下最显眼…

全源最短路Johnson算法

最短路Johnson算法( O ( n m l o g m ) O(nmlogm) O(nmlogm)) 可以求任意两点最短路, 新图的边权改造为: w ( x , y ) h ( x ) − h ( y ) w(x,y)h(x)-h(y) w(x,y)h(x)−h(y) 构造的新图 d 1 ( x , y ) d ( x , y ) h ( x ) − h ( y ) d1(x,y)d(x,y…

java学习02

一、基本数据类型 Java有两大数据类型,内置数据类型和引用数据类型。 内置数据类型 Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。 byte&#xff1…

leetcode:704. 二分查找(python3解法)

难度:简单 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9…

人工智能发展前夜,基于控制论的杂谈

谢邀。 目录 《What the Frogs Eye Tells the Frogs Brain?》简介我是怎么理解这篇文章的?被后世频繁引用的「青蛙」从「青蛙」再重新转向控制论 《What the Frog’s Eye Tells the Frog’s Brain?》简介 帕斯克在实践和理论中,将人类的适应性行为引入…

集成算法的参数空间与网格优化

目录 1. 探索参数空间 1.1 学习曲线 1.2. 决策树对象Tree 2. 使用网格搜索在随机森林上进行调参 1. 探索参数空间 随机森林集成算法的超参数种类繁多、取值丰富,且参数之间会相互影响、共同作用于算法的最终结果,因此集成算法的调参是一个难度很高的过…

JavaSwing+MySQL的聊天系统设计

点击以下链接获取源码: https://download.csdn.net/download/qq_64505944/88055544 JDK1.8、MySQL5.7 功能:类似于QQ软件的聊天系统,可以进行登录注册聊天发信息等功能

为什么说Raft原生系统是流式数据的未来?

目录 一、前言 二、Redpanda是如何实施Raft的? Redpanda的需求是: 实施Raft为这三个需求提供了坚实的基础: 1. 简单性 2. 性能 3. 可靠性 三、但是Kraft又如何呢? 四、结合Raft与性能工程 一、前言 共识是一致性分布式…

分布式声波传感(DAS)声音还原

声音还原 DAS 基于相位敏感光时域反射计(Φ-OTDR)的分布式光纤声波传感技术(DAS)是一种利用光纤后向瑞利散射干涉效应实现声波信号连续分布式探测的传感技术。 实验装置如下图所示,采用窄线宽光纤激光器作为光源,出射光通过90:10的光纤耦合器分成参考光和…

AlphaPose复现配置教程

AlphaPose复现配置教程 AlphaPose介绍 AlphaPose是一种准确的多人姿态估计器,这是第一个在COCO数据集上达到70 mAP (75 mAP)和在MPII数据集上达到80 mAP (82.1 mAP)的开源系统。为了匹配跨帧的同一人的姿态,我们还提供了一种高效的在线姿态跟踪器&…

Effective C++学习笔记(6)

目录 条款32. 确定你的public继承塑模出is-a关系条款33.避免遮掩继承而来的名称条款34.区分接口继承和实现继承条款35.考虑virtual函数以外的其他选择条款36.绝不重新定义继承而来的non-virtual函数条款37.绝不重新定义继承而来的缺省参数值条款38.通过复合塑模出has-a或“根据…