【随笔】Git -- 高级命令(上篇)(六)

请添加图片描述

  • 💌 所属专栏:【Git】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

文章目录

  • 前言
  • 一、Git 高级命令
      • 1、git diff指令
        • (1) 查看工作目录中当前文件和暂存区域中文件的差异:
        • (2) 查看暂存区域中文件与最新提交版本之间的差异:
        • (3) 查看工作目录中当前文件和最新提交版本之间的差异:
        • (4) 比较两个分支之间的差异:
        • (5) 比较两个分支之间的差异:
      • 2、git stash指令
        • (1)将工作目录中的修改保存到stash中:
        • (2)将工作目录中的修改保存到stash中,并添加一条描述:
        • (3)查看当前stash列表:
        • (4)应用暂存的修改创建新的分支:
        • (5)删除最新的stash
        • (6)删除指定的stash
        • (7)应用最新的stash但不从stash列表中移除
        • (8)应用指定的stash但不从stash列表中移除
        • (9)恢复最新的stash,并从stash列表中移除
        • (10)恢复最新的stash,并从stash列表中移除
      • 3、git reset 指令
        • (1)将文件恢复到最近一次提交的状态
        • (2)保留暂存区域和工作目录不变
        • (3)指定提交之后的修改移动到暂存区域,但保留工作目录不变
        • (4)指定提交之后的修改移除暂存区域,但保留在工作目录中
        • (5)将暂存区域和工作目录都重置为指定提交的状态
        • (6)撤销最近一次的提交,并将修改的文件恢复到工作区
        • (7)撤销最近一次的提交,但保留修改的文件
        • (8)撤销最近一次的提交,但保留暂存区域和工作目录
  • 总结


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【Git】专栏的第6篇文章;
  这是今天学习到Git的高级命令(上篇)💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
  专栏地址:【Git】 , 此专栏是我是夜阑的狗对Git,Gitee等工具使用过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、Git 高级命令

  Git是一个版本控制系统,用于跟踪和管理文件的变化。它是由 Linus Torvalds 于2005年创建的,最初为了帮助 Linux 内核的开发而设计。当项目开发过程中,多个人提交同一个分支很容易出现,本地分支与目标分支不一致导致提交了,这里就讲解一个比较通解的方法来解决。这里给大家推荐一个好用的 Git在线练习地址。话不多说,让我们来看看 Git 是怎么使用的吧。

1、git diff指令

  git diff 指令用于查看工作目录中当前文件和暂存区域域中文件的差异,或者查看工作目录中当前文件和最新提交版本之间的差异。

  该指令的基本用法如下:

git diff [选项] [<commit> [<commit>]]

  其中,[]用于指定一个或多个提交的标识符,例如提交的哈希值或分支名称。如果省略[]参数,则默认将工作目录中的修改与暂存区的内容进行比较。

(1) 查看工作目录中当前文件和暂存区域中文件的差异:
git diff
(2) 查看暂存区域中文件与最新提交版本之间的差异:
git diff --cached
(3) 查看工作目录中当前文件和最新提交版本之间的差异:
git diff HEAD
(4) 比较两个分支之间的差异:
git diff <branch1> <branch2>
(5) 比较两个分支之间的差异:
git diff <file>

  git diff 指令支持一系列选项,用于控制输出的格式和内容。下面是支持的其他选项:

  • –color-words:以单词为单位,以颜色标记差异。
  • –stat:仅显示文件名和统计信息,不显示具体差异内容。
  • –name-only:仅显示有差异的文件名。
  • –name-status:显示有差异的文件名及其状态(例如修改、删除、新增等)。

2、git stash指令

  git stash 指令用于将当前工作目录中的所有未提交的修改暂存起来。可以在切换分支或者解决紧急问题时使用该指令,暂时保存当前修改,以便稍后恢复。以下是一些常用的 git stash 指令及其用法:

(1)将工作目录中的修改保存到stash中:
git stash
(2)将工作目录中的修改保存到stash中,并添加一条描述:
git stash save "描述信息"
(3)查看当前stash列表:
git stash list
(4)应用暂存的修改创建新的分支:

  基于第 stash_index 个暂存的修改创建一个新的分支,并将此修改应用到新的分支中。

git stash branch <branch_name> stash@{stash_index}
(5)删除最新的stash
git stash drop
(6)删除指定的stash

  删除第 stash_index 个暂存的修改,即将此修改从暂存列表中移除。

git stash drop stash@{<stash_index>}
(7)应用最新的stash但不从stash列表中移除
git stash apply
(8)应用指定的stash但不从stash列表中移除

  将第 stash_index 个暂存的修改应用到当前工作目录中,但不会将此修改从暂存列表中删除。

git stash apply stash@{<stash_index>}
(9)恢复最新的stash,并从stash列表中移除
git stash pop
(10)恢复最新的stash,并从stash列表中移除

  将第 stash_index 个暂存的修改应用到当前工作目录中,并将此修改从暂存列表中删除。

git stash pop stash@{<stash_index>}

  注意:如果在使用git stash命令之前有未跟踪的文件,这些文件不会自动被stash起来,需要手动添加到暂存区。

3、git reset 指令

  git reset 指令用于将HEAD指向的当前分支位置重置为指定的提交,并可选择性地更新暂存区域和工作目录。这个命令通常用于撤销之前的提交或者重置当前分支到一个特定的状态。以下是一些常用的 git reset 指令及其用法:

(1)将文件恢复到最近一次提交的状态

  git reset HEAD <文件名> 命令用于将指定文件从暂存区域中移除,并将其恢复到与最后一次提交时相同的状态,但不会改变工作目录中的文件内容。这个命令通常用于取消暂存(或称为取消跟踪)已经添加到暂存区域但不打算提交的文件。

git reset HEAD file.txt
(2)保留暂存区域和工作目录不变

  将HEAD指向的当前分支位置重置为指定的提交,但保留暂存区域和工作目录不变:

git reset <commit>

  这个命令通常用于撤销之前的提交并移动分支指针到另一个位置。在这个命令中,<commit> 可以是提交哈希值、分支名或者标签名。

(3)指定提交之后的修改移动到暂存区域,但保留工作目录不变

  将HEAD指向的当前分支位置重置为指定的提交,并将指定提交之后的修改移动到暂存区域,但保留工作目录不变:

git reset --soft <commit>
(4)指定提交之后的修改移除暂存区域,但保留在工作目录中

  将HEAD指向的当前分支位置重置为指定的提交,并将指定提交之后的修改移除暂存区域,但保留在工作目录中:

git reset --mixed <commit>
(5)将暂存区域和工作目录都重置为指定提交的状态

  将HEAD指向的当前分支位置重置为指定的提交,同时将暂存区域和工作目录都重置为指定提交的状态:

git reset --hard <commit>
(6)撤销最近一次的提交,并将修改的文件恢复到工作区

  将HEAD指向的当前分支位置重置为上一个提交,同时将暂存区域和工作目录都重置为上一个提交的状态:

git reset --hard HEAD^

  注意:HEAD^ 表示上一次提交,可以根据需要使用 HEAD~n 来指定撤销多少次提交。使用 --soft 参数表示保留修改的文件,使用 --hard 参数表示不保留修改的文件,恢复到最近一次提交的状态。

(7)撤销最近一次的提交,但保留修改的文件

  将HEAD指向的当前分支位置重置为上一个提交,但保留修改的文件:

git reset --soft HEAD^
(8)撤销最近一次的提交,但保留暂存区域和工作目录

  将HEAD指向的当前分支位置重置为上一个提交,并保留暂存区域和工作目录不变:

git reset --keep HEAD^

总结

  感谢观看,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

在这里插入图片描述

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉

更多专栏订阅:

  • 😀 【LeetCode题解(持续更新中)】
  • 🌼 【鸿蒙系统】
  • 👑 【Python脚本笔记】
  • 🚝 【Java Web项目构建过程】
  • 💛 【微信小程序开发教程】
  • 【JavaScript随手笔记】
  • 🤩 【大数据学习笔记(华为云)】
  • 🦄 【程序错误解决方法(建议收藏)】
  • 🚀 【软件安装教程】



订阅更多,你们将会看到更多的优质内容!!

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

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

相关文章

【面试八股总结】超文本传输协议HTTP(二)

参考资料 &#xff1a;小林Coding、阿秀、代码随想录 一、HTTP缓存技术 将资源&#xff08;如网页、图像、脚本等&#xff09;的副本存储在客户端或中间代理服务器上&#xff0c;以便将来的请求可以直接从缓存中获取&#xff0c;而不必重新从服务器下载资源。这有助于减少网…

二维码:技术、商业与未来

title: 二维码&#xff1a;技术、商业与未来 date: 2024/4/3 19:12:28 updated: 2024/4/3 19:12:28 tags: 二维码技术商业应用移动支付物联网AR/VR融合智能家居数字化社会 第一章&#xff1a;引言 1. 二维码在数字化时代的重要性和普及程度 在数字化时代&#xff0c;二维码作…

JVM之常用监控工具

JVM之常用监控工具 jps jinfo 获取配置信息 基本语法 jinfo [options] <pid>常用选项 -sysprops&#xff1a;显示JVM进程的系统属性。-flags&#xff1a;显示用于启动JVM的命令行标志和VM选项。-flag <name>&#xff1a;显示指定JVM标志的当前值。-flag [|-]&…

Windows10安装CloudCompare(图文安装)

CloudCompare是一个3D点云&#xff08;和三角网格&#xff09;处理软件。它最初被设计用于在两个密集的3D点云&#xff08;例如用激光扫描仪获取的点云&#xff09;之间或点云和三角形网格之间进行比较。它依赖于专用于此任务的特定八叉树结构。 之后&#xff0c;它已经扩展到一…

[实验报告]--基于端口安全

[实验报告] 目录 [实验报告] 一、项目背景 二、实验环境 三、项目规划设计 四、项目实施 五、验证项目成果 基于端口安全的 Jan16 公司网络组建 一、项目背景 Jan16 公司开发部为重要部门&#xff0c;所有员工使用指定的计算机工作&#xff0c;为防止员工或访客使 用个…

java中Date类,SimpleDateFormat类和Calendar类

Date类 public Date() 创建一个Date对象&#xff0c;代表的是系统当前此刻的日期时间 public Date(long date) Constructs a Date object using the given milliseconds time value. 把时间毫秒值转变成Date日期对象 public void setTime(long date) Sets an existing Date ob…

深度解析大语言模型中的词向量

在学习完语言模型中的编码器与解码器知识后&#xff0c;让我们继续深入学习大语言模型中一个非常关键的技术&#xff1a;词向量表示&#xff0c;以及如何通过Transformer模型实现对next token的预测。 1、词向量 要了解语言模型的工作原理&#xff0c;首先需要了解它们如何表示…

C#.net6.0手术麻醉信息管理系统源码,智慧手术室管理平台源码

手术麻醉信息管理系统源码&#xff0c;自主版权的手麻系统源码 手术麻醉信息管理系统包含了患者从预约申请手术到术前、术中、术后的流程控制。手术麻醉信息管理系统主要是由监护设备数据采集子系统和麻醉临床系统两个子部分组成。包括从手术申请到手术分配&#xff0c;再到术前…

element-ui collapse 组件源码分享

今日简单分享 collapse 组件的源码实现&#xff0c;主要分为四个方面&#xff1a; 1、collapse 组件页面结构 2、collapse 组件属性 3、collapse 组件事件 4、collapse item 组件属性 一、collapse 组件页面结构 二、collapse 组件属性 2.1 value/v-model 属性&#xff0…

Ubuntu18.04+2070s+TF2.x环境,单卡训练PointNet++实战

Ubuntu18.042070sTF2.x环境&#xff0c;单卡训练PointNet实战 1. 编译tf_ops文件夹下的三个动态库2. 修改Python版本、TF版本不一致带来的差异3. 下载训练数据4. 模型训练 1. 编译tf_ops文件夹下的三个动态库 该文件夹下定义了一些pointnet模型中需要使用的cuda核函数&#xf…

程序代码分析工具

文章目录 工具简介和安装DoxygenGraphziv软件安装 工具的运用启动和配置工具分析结果 工具简介和安装 Doxygen Doxygen 是一种用于从 C 、C 、Objective-C 、C# 、Java 和 Python 等语言的源代码中生成文档的工具。它通过解析源代码中的注释来创建详细的 API 文档&#xff0c;…

码农失业倒计时?全球首个大厂AI程序员来了

进入互联网时代&#xff0c;程序员作为高收入职业的代表&#xff0c;长久以来一直是众多求职者梦寐以求的工作方向。程序员们凭借其对计算机科学的深刻理解和技术创新能力&#xff0c;不仅推动了科技的进步&#xff0c;也为自己赢得了可观的经济回报。 然而&#xff0c;随着人…

多叉树题目:N 叉树的层序遍历

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;N 叉树的层序遍历 出处&#xff1a;429. N 叉树的层序遍历 难度 4 级 题目描述 要求 给定一个 N 叉树的根结点 root \texttt{root} root&#xf…

SAP FI学习笔记04 - 基础知识 - 新规会计科目,用 应收账款科目 做个例子

上一章讲了 应付账款 的来源及操作。 SAP FI学习笔记03 - 应付账款-CSDN博客 本章先尝试做一个会计科目&#xff0c;然后再用 应收账款 科目做个例子。 应收账款 和 应付账款 一样&#xff0c;也有两个视图。 1&#xff0c;新建几个会计科目 这一章来尝试着创建会计科目。 …

蓝桥杯嵌入式备考笔记

keil配置 LED-KEY-LCD 留下这几个 按键 创建俩个文件写代码&#xff0c;记得把这两个文件加进工程 led uwTick 1ms执行一次 写错了 不是1000 是100 PD2 SET 表示打开锁存器 可以操作LED LED对应PC引脚拉高是熄灭 key 如果要在main使用需要extern LCD最多21位 …

通讯录(顺序表)保存数据

在通讯录的基础上加上三个函数实现数据的保存。 分别为录入数据&#xff0c;加入数据与保存数据。 加入数据 先检查通讯录空间是否足够&#xff0c;然后将结构体ab中的数据全部放入通讯录mn中。 注意&#xff1a;字符串的拷贝要使用函数strcpy而不能直接用 加入完成之后将通…

深入浅出 -- 系统架构之微服务架构

1.1 微服务的架构特征&#xff1a; 单一职责&#xff1a;微服务拆分粒度更小&#xff0c;每一个服务都对应唯一的业务能力&#xff0c;做到单一职责 自治&#xff1a;团队独立、技术独立、数据独立&#xff0c;独立部署和交付 面向服务&#xff1a;服务提供统一标准的接口&…

Java数据结构-队列

目录 1. 队列概念2. 模拟实现队列2.1 链式队列2.2 循环队列 3. 双端队列4. 队列的应用4.1 用队列实现栈4.2 用栈实现队列 1. 队列概念 队列是一种只能在一端进行插入数据操作&#xff0c;另一端进行删除数据操作的数据结构&#xff0c;插入数据的叫队尾&#xff0c;删除数据的…

若依框架mysql 搜索中文等于不生效

背景&#xff0c;字段存储的是中文 不生效代码如下 <if test"constellation ! null and constellation ! ">AND u.constellation #{constellation}</if> 正确生效的代码如下 <if test"constellation ! null and constellation ! ">A…

Python搭建编程环境-安装Python3解释器

✅作者简介&#xff1a;CSDN内容合伙人、新星计划第三季Python赛道Top1&#x1f3c5; &#x1f525;本文已收录于Python系列专栏&#xff1a;零基础学Python &#x1f4ac;订阅专栏后可私信博主进入Python学习交流群&#xff0c;进群可领取Python视频教程以及Python相关电子书…