【随笔】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随手笔记】
- 🤩 【大数据学习笔记(华为云)】
- 🦄 【程序错误解决方法(建议收藏)】
- 🚀 【软件安装教程】
订阅更多,你们将会看到更多的优质内容!!
相关文章:
【随笔】Git -- 高级命令(上篇)(六)
💌 所属专栏:【Git】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…...
java中Date类,SimpleDateFormat类和Calendar类
Date类 public Date() 创建一个Date对象,代表的是系统当前此刻的日期时间 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…...
施耐德 PLC 控制系统 产品 + 软件总体介绍 2020
参考 2020.7 官方说明视频:https://www.bilibili.com/video/BV1Mi4y1G7Qc/ 总体说明 施耐德作为工业控制界巨头(公认的几大巨头:西门子、AB、施耐德),PLC 控制器产品线很庞大,涵盖了高中低的完整产品线&…...
UniApp 应用发布到苹果商店指南
🚀 想要让你的 UniApp 应用在苹果商店亮相吗?别着急,让我来带你一步步完成这个重要的任务吧!在这篇博客中,我将详细介绍如何将 UniApp 应用顺利发布到苹果商店,让你的应用跻身于苹果生态之中。 引言 &…...
KamaCoder 46. 携带研究材料(第六期模拟笔试)
题目描述 小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等,它们各自占据不同的空间࿰…...
MySQL的基本操作(超详细)
👨💻作者简介:👨🏻🎓告别,今天 📔高质量专栏 :☕java趣味之旅 📔(零基础)专栏:MSQL数据库 欢迎🙏点赞&…...
自动驾驶之心规划控制笔记
Search-based Path Planning Methods Path Finding Problem 一般来说指标有距离,耗费时间,能量,或者多目标。 左图是拓扑地图,蓝色的点就是顶点,绿色的线是连接关系。最后得到的是一个从哪里走的一个最优,并非精细解。 右图是栅格地图,这个搜索出来的是在相对分辨率比…...
Linux中部署Java jar 包 shell 脚本
Linux中部署Java jar 包 shell 脚本 #!/bin/bash set -e# 基础 # export JAVA_HOME/work/programs/jdk/jdk1.8.0_181 # export PATHPATH$PATH:$JAVA_HOME/bin # export CLASSPATH$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarDATE$(date %Y%m%d%…...
auto.js v1.4.4 实现自动打卡
一、使用场景 所在公司的打卡软件可以单独变成一个可以点击的APP,所以只需要实现以下步骤: 自动解锁屏幕返回主屏幕并打卡锁定屏幕需要的环境: 手机端下载并且安装 auto.js v4.1.1 PC端VS安装对应的插件学习资料 B站学习资料 对应 第三期&am…...
【Linux实验室】NFS、DHCP的搭建
NFS、DHCP的搭建 1、nfs服务搭建及测试什么是NFS?环境准备服务端机器安装nfs-utils和rpcbind包启动NFS服务创建/data/NFSdata目录,配置nfs文件启动服务挂载测试在服务端在共享目录下创建文件测试在客户端在共享目录下创建文件 2、dhcp服务搭建及测试什么…...
Samba 总是需要输入网络凭证
输入网络凭证: 用户名是 cat /etc/samba/smb.conf,查看 valid users mxw 为用户名。而不是其他账号名或者用户名,更不是登录计算机时的计算机名; 密码是 需要记住安装samba服务器时,自己设置的password࿱…...
图像处理_积分图
目录 1. 积分图算法介绍 2. 基本原理 2.1 构建积分图 2.2 使用积分图 3. 举个例子 1. 积分图算法介绍 积分图算法是图像处理中的经典算法之一,由Crow在1984年首次提出,它是为了在多尺度透视投影中提高渲染速度。 积分图算法是一种快速计算图像区域和…...
B/S架构SaaS模式 医院云HIS系统源码,自主研发,支持电子病历4级
B/S架构SaaS模式 医院云HIS系统源码,自主研发,支持电子病历4级 系统概述: 一款满足基层医院各类业务需要的云HIS系统。该系统能帮助基层医院完成日常各类业务,提供病患挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查…...
(C)1005 继续(3n+1)猜想
1005 继续(3n1)猜想: 问题描述 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n3 进行验证的时候&a…...
编译好的C++应用程序拷贝到其它电脑,提示dll未找到依赖项的解决方法。
编译好的C应用程序拷贝到其它电脑上,运行时出现提示dll未找到依赖项。 由于dll依赖于其它dll,在开发用电脑上的环境不能完全与其它电脑相同。 解决办法是找到调用到的dll依赖的所有dll,拷贝到运行目录下。 在开发电脑上: 1、开…...
wps 开发插件
官方文档参考wps官方文档参考 1.环境安装 安装wps https://www.wps.cn/ 安装Node.js https://nodejs.org/en 安装代码编辑器 Visual Studio Code https://code.visualstudio.com/ 环境检查-进入cmd查看 node -v2.demo 2.1 demo下载 打开vscode,新建终端 安装…...
C语言----数据在内存中的存储
文章目录 前言1.整数在内存中的存储2.大小端字节序和字节序判断2.1 什么是大小端?2.2 练习 3.浮点数在内存中的存储3.1.引子3.2.浮点数的存储3.2.2 浮点数取的过程 前言 下面给大家介绍一下数据在内存中的存储,这个是一个了解c语言内部的知识点…...
【Linux学习】Linux 的虚拟化和容器化技术
˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…...
Delphi 是一种内存安全的语言吗?
上个月,美国政府发布了 "回到基石 "报告: 通往安全和可衡量软件之路 "的报告。该报告是美国网络安全战略的一部分,重点关注多个领域,包括内存安全漏洞和质量指标。 许多在线杂志都对这份报告进行了评论࿰…...
golang语言系列:Scrum、Kanban等敏捷管理策略
云原生学习路线导航页(持续更新中) 本文是 golang语言系列 文章,主要对编程通用技能 Scrum、Kanban等敏捷管理策略 进行学习 1.什么是敏捷开发 敏捷是一个描述软件开发方法的术语,它强调增量交付、团队协作、持续规划和持续学习。…...
深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
