git diff命令详解

git diff 是 Git 中非常常用的命令,用于比较不同版本的文件改动。可以比较工作区、暂存区、或者提交之间的差异。下面是对 git diff 常用场景的详细解释:

1. git diff

当你执行 git diff 时,它会显示工作区与暂存区之间的差异,也就是你在工作区中修改了但还没有添加到暂存区(使用 git add)的内容。例如:

git diff
说明:
  • 左侧:显示的是修改前的代码(减号 - 表示删除的行)。
  • 右侧:显示的是修改后的代码(加号 + 表示新增的行)。

2. git diff --cachedgit diff --staged

这个命令用于显示暂存区与最后一次提交之间的差异。也就是说,已经 git add 了的改动,但还没有 git commit。例如:

git diff --cached
说明:
  • 它显示的是已经准备好提交的改动,区别于 git diff 只显示工作区中的修改。

3. git diff [branch1] [branch2]

可以比较两个分支之间的差异,显示从 branch1branch2 的不同。例如:

git diff main feature-branch
说明:
  • 该命令会展示从 main 分支到 feature-branch 的改动内容。

4. git diff [commit1] [commit2]

用于比较两个提交之间的差异,commit1commit2 可以是提交的哈希值或分支名称。例如:

git diff 1a2b3c 4d5e6f
说明:
  • 这个命令会列出从 commit1commit2 所做的改动。

5. git diff --name-only

这个命令会只显示发生变化的文件名,而不会显示具体的内容。例如:

git diff --name-only
说明:
  • 该命令适合快速查看有哪些文件发生了改动,而不需要查看改动的具体细节。

6. git diff --stat

显示文件的差异摘要,包括哪些文件改变了,以及每个文件的插入和删除的行数。例如:

git diff --stat
说明:
  • 适用于想快速了解改动的概况,特别是文件数目和具体改动的规模。

7. git diff [file]

只比较某个特定文件的改动。例如:

git diff index.html
说明:
  • 只显示 index.html 文件的改动,适用于需要查看单个文件的差异。

8. git diff [commit] [file]

用于查看某个文件在特定提交之前或之后的改动。例如:

git diff 1a2b3c index.html
说明:
  • 显示从 commit 到当前状态 index.html 文件的差异。

9. git diff --word-diff

将差异以词为单位显示,而不是以行为单位。例如:

git diff --word-diff
说明:
  • 这个命令更适合代码较少但内容修改较细微的情况。

10. git diff HEAD

显示当前工作目录和最近一次提交的差异,即工作区和 HEAD 提交之间的改动。例如:

git diff HEAD
说明:
  • 它显示工作区中尚未提交的所有修改。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 热题 100之普通数组

1.最大子数组和 思路分析:这个问题可以通过动态规划来解决,我们可以使用Kadane’s Algorithm(卡登算法)来找到具有最大和的连续子数组。 Kadane’s Algorithm 的核心思想是利用一个变量存储当前的累加和 currentSum,并…

【高中生讲机器学习】22. 信息论基础:信息熵、交叉熵、相对熵

创建时间:2024-10-16 首发时间:2024-10-24 最后编辑时间:2024-10-24 作者:Geeker_LStar FIRST OF ALL!!! 2024.10.24!! 1024 快乐!!! 你好呀~这里是 Geeker_LStar 的人工…

IDEA初探:深入理解 Structure 功能

一、Structure - 类视图 Structure 是 IDEA 中的一个视图工具,它提供了对当前文件中结构元素的快速访问。通过 Structure,我们可以方便地查看和导航到代码中的各个部分,从而提高代码编辑和浏览的效率。 1.1 基本概念 Structure 视图以树形结…

Spring Boot:植物健康监测的智能先锋

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了植物健康系统的开发全过程。通过分析植物健康系统管理的不足,创建了一个计算机管理植物健康系统的方案。文章介绍了植物健康系统的系统分析部分&…

一文带你搞懂RabbitMQ 如何保证消息不丢失

RabbitMQ使用场景: 异步发送(验证码、短信、邮件)MySQL和Redis,ES之间的数据同步分布式事务削峰填谷 什么情况下消息容易丢失: 消息未到达交换机消息未到达队列队列中消息丢失消费者未接收到消息 解决消息丢失的方法…

python查询并安装项目所依赖的所有包

引言 如果需要进行代码的移植,肯定少不了在另一台pc或者服务器上进行环境的搭建,那么首先是要知道在已有的工程的代码中用到了哪些包,此时,如果是用人工去一个一个的代码文件中去查看调用了哪些包,这个工作甚是繁琐。…

js面试问题笔记(一)

一.热门js面试 1.简述同步和异步的区别? 同步: 浏览器访问服务器请求,用户看到页面刷新 ,重新发请求,等请求完,页面刷新,新内容出现,用户看到新内容,进行下一步操作 异步: 浏览器访问服务器请求,用户正常操作,浏览器后端进行请求,等请求完,页面不刷新,新内容也会出现,用户看到…

【HarmonyOS Next】原生沉浸式界面

背景 在实际项目中,为了软件使用整体色调看起来统一,一般顶部和底部的颜色需要铺满整个手机屏幕。因此,这篇帖子是介绍设置的方法,也是应用沉浸式效果。如下图:底部的绿色延伸到上面的状态栏和下面的导航栏 UI 在鸿蒙…

Grid View 网格视图

GoTo DevExpress Data Grid 数据网格 Grid View 网格视图 GridView 是默认的数据网格视图,它以传统的表格格式显示数据。View 将数据源记录呈现为行,将数据源字段呈现为列。数据值显示在各个单元格中。 以下文档包含有关此表格布局的主要元素的深入信…

多线程——线程安全的集合类

目录 前言 一、多线程环境使用 ArrayList 1.进行加锁 2.使用 SynchronizedList 类 3.使用 CopyOnWriteArrayList 类 二、多线程环境使用队列 1.进行加锁 2.使用阻塞队列 三、多线程环境使用哈希表 1.Hashtable 2.ConcurrentHashMap (1)缩小锁…

vue文件转AST,并恢复成vue文件(适用于antdv版本升级)

vue文件转AST,并恢复成vue文件---antdvV3升级V4 vue文件转AST,重新转回原文件过程如何获取项目路径读取项目文件,判断文件类型分别获取vue文件 template js(vue2和vue3)处理vue 文件template部分处理vue script部分uti…

【线下+线上会议|国内外双会场】2024年第四届数字化社会与智能系统国际学术会议(DSInS 2024)-悉尼/郑州双会场

2024年第四届数字化社会与智能系统国际学术会议(DSInS 2024)-悉尼/郑州双会场 2024 4th International Conference on Digital Society and Intelligent Systems 会议官网:www.dsins.org 2024 4th International Conference on Digital Soc…

龙迅#LT89101 适用于 MIPI DSI/CSI摄像头和 LVDS 中继信号延长功能,分辨率可支持 1080P@60HZ!

1. 描述 Lontium LT89101 是一款高性能 MIPI DSI/CSI-2 和 LVDS 中继器,用于汽车系统应用的移动显示或摄像头信号整形。 LT89101采用先进的 CMOS 工艺制造,并采用小外形 7.5mm x 7.5mm QFN64 封装。该封装符合 RoHS 标准,额定工作温度范围为 …

MySQL8.0.40编译安装

近期MySQL发布了8.0.40版本,与之前的版本相比,部分依赖包发生了变化,因此重新编译一版,也便于大家参考。 1. 下载源码 选择对应的版本、选择源码、操作系统 如果没有登录或者没有MySQL官网账号,可以选择只下载 2. 进…

element 按钮变形 el-button样式异常

什么都没动,element UI的按钮变形了,莫名其妙,连官网的也变形了,换了其它浏览器又正常, 难道这是element UI的问题?NO,是浏览器的插件影响到了!去扩展插件里面一个个关闭扩展&#x…

MySql中的锁的分类

锁的分类 MySQL锁可以按模式分类为:乐观锁与悲观锁。按粒度分可以分为全局锁、表级锁、页级锁、行级锁。按属性可以分为:共享锁、排它锁。按状态分为:意向共享锁、意向排它锁。按算法分为:间隙锁、临键锁、记录锁。 二、全局锁、表…

ClickHouse与各种组件的关系

ClickHouse和其他组件关系如下: Flink支持ClickHouse Sink支持Hive/SparkSQL数据批量导入ClickHouseHetuEngine支持ClickHouse数据源常用第三方工具如DBeaver支持ClickHouse对接ClickHouse依赖ZooKeeper实现了分布式DDL执行以及ReplicatedMergeTree表主备节点之间的…

多线程—— JUC 的常见类

目录 前言 一、Callable 接口 1.Callable 介绍 2.代码示例 3.创建线程的方式 二、ReentrantLock 类 1.ReentrantLock 介绍 2.代码示例 3.与 synchronized 的区别 三、信号量 Semaphore 类 1.Semaphore 介绍 2.代码示例 3.保证线程安全的方式 四、CountDownLatch …

二、Spring的执行流程

文章目录 1. spring的初始化过程1.1 ClassPathXmlApplicationContext的构造方法1.2 refresh方法(核心流程)1.2.1 prepareRefresh() 方法1.2.2 obtainFreshBeanFactory() 方法1.2.3 prepareBeanFactory() 方法1.2.4 invokeBeanFactoryPostProcessors() 方…

(linux驱动学习 - 12). IIC 驱动实验

目录 一.IIC 总线驱动相关结构体与函数 1.i2c_adapter 结构体 2.i2c_algorithm 结构体 3.向系统注册设置好的 i2c_adapter 结构体 - i2c_add_adapter 4.向系统注册设置好的 i2c_adapter 结构体 - i2c_add_numbered_adapter 5.删除 I2C 适配器 - i2c_del_adapter 二.IIC 设…