Delta 一个新的 git diff 对比显示工具
目录
- 介绍
- git diff 介绍
- delta介绍
- 一、安装
- 1.下载 Git
- 2.下载 delta
- 3.解压
- 4.修改配置文件
- 5. 修改主题
- 6.其他配置和说明
- 二、对比命令
- 1.在项目中 git diff 常用命令
- 2.对比电脑上两个文件
- 3.对比电脑上的两个文件夹
- 三、在Git 命令行中使用效果
- 四、在idea 的Terminal命令行中使用效果
介绍
git diff 介绍
平时我们会在命令行使用 git diff 相关命令来对比文件的差异。(git diff命令可参考:git-diff命令说明)
比如:当前文件和该文件以前某一次提交进行对比、某文件的某两次提交记录进行对比、对比电脑上任意两个文件的差异。
但是 git diff 对比出来没有行号,并且不能并排显示差异,对比界面不太好看,,这个时候你就可以使用 delta 了 。
delta介绍
delta 是一款用于命令行的对比开源工具,它是基于 git 的,也就是它是通过 git 来对比文本得到不同点,然后做了美化处理,delta 提供了许多主题和配置,可以让你在命令行很方便的对比代码或文本,以此来提高你的工作效率。
所以如果你也经常使用命令行以及使用命令行来对比,那么 delta 就很适合你。
delta的github官网
一、安装
本文基于 windos 进行下载安装说明。
1.下载 Git
delta 是基于 Git 的,如果你没安装 Git 需要先去 Git官网下载 安装下 Git。
2.下载 delta
根据你的操作系统,到 delta 的发行下载页面下载最新的版本,官网传送门:delta下载。
或者
百度云下载windos版 (链接:https://pan.baidu.com/s/1JshHpA8kApTR1MG_i46Cog 提取码:bl5t)
3.解压
下载解压后,把 delta.exe 放到如下目录:
C:\Users\你的用户名\AppData\Local\Microsoft\WindowsApps
4.修改配置文件
打开 C:\Users\用户名\.gitconfig 文件,在其中增加如下配置:
[core]pager = delta[interactive]diffFilter = delta --color-only[delta]navigate = true #运行使用 n 和 N 在 diff 部分之间移动line-numbers = true #行号side-by-side = true #并排对比视图syntax-theme = Coldark-Cold #主题[merge]conflictstyle = diff3[diff]colorMoved = default
(如果你该目录下没有 .gitconfig 文件需要自己新建一个)
5. 修改主题
上面我们使用了Coldark-Cold 主题,它是为暗色背景提供的一个主题。
delta 为亮色和暗色背景的命令行提供了多种主题,你可以使用 delta --list-syntax-themes 命令来查看所有的主题。
亮色背景有以下:GitHubMonokai Extended LightOneHalfLightSolarized (light)gruvbox-light暗色背景有以下:1337Coldark-ColdColdark-DarkDarkNeonDraculaMonokai ExtendedMonokai Extended BrightMonokai Extended OriginNordOneHalfDarkSolarized (dark)Sublime SnazzyTwoDarkVisual Studio Dark+ansibase16base16-256gruvbox-darkzenburn
6.其他配置和说明
关于delta 的其他配置和自定义主题颜色等操作,可参考 :delta 官方配置说明
二、对比命令
1.在项目中 git diff 常用命令
(1).如果修改了多个文件,并且多个文件都没有使用 git add 加入到缓存区,那么可以使用 git diff 命令,会列出这些文件所有修改的地方
git diff
(2).如果 Test.java 文件没有使用 git add 加入到缓存区,那么可以如下列出该文件所有修改的地方
git diff Test.java
(3).比较某次提交和工作区的 Test.java文件的不同,XXXX 是 commitId
git diff XXXX Test.java
(4).如果多个文件已经使用了git add加入到了缓存区,使用下面的命令会列出这些文件所有修改的地方
git diff --cached
(5).如果某个文件已经使用了git add加入到了缓存区,使用下面的命令会列出该文件所有修改的地方
git diff --cached demo/Test.java
(6).查看当前工作区内容与 某次提交 的所有文件内容的差异
git diff XXXX #XXXX是 commit Id
(7).比较两个版本号所有文件差异
git diff XXXX1 XXXX2 #XXXX1和XXXX2是 commit Id
2.对比电脑上两个文件
- 对比 revised.txt 和 original.txt 并显示他们的差异(只显示差异不同点):
git diff --no-prefix revised.txt original.txt
或者:
detal revised.txt original.txt
- 对比 revised.txt 和 original.txt 显示差异和文本所有内容:
git diff --no-prefix -U99999 revised.txt original.txt
3.对比电脑上的两个文件夹
你可以使用如下命令对比两个文件夹下所有文件的差异 (dir1 和 dir2 是你文件夹的名称)
detal dir1 dir2
三、在Git 命令行中使用效果
1.Git 命令行中Coldark-Cold 主题的效果

2.Git 命令行中 GitHub 亮色主题的效果
在Git 命令行中如果你想使用亮色的 GitHub 主题,你需要先把你的命令行背景颜色改为白色,
鼠标右键 ==> Options ==> looks ==> Background


四、在idea 的Terminal命令行中使用效果
1.使用 Dracula 主题在idea 的Terminal命令行中效果:

2.使用 GitHub 主题在idea 的Terminal命令行中效果:
(GitHub 主题是亮色主题,需要把 idea 的背景设置成白色,idea 里左上角 File --> Setting -->【Appearance & Behavior】下的 Appearance --> Theme下拉框选择IntelliJ Light)

相关文章:
Delta 一个新的 git diff 对比显示工具
目录 介绍git diff 介绍delta介绍 一、安装1.下载 Git2.下载 delta3.解压4.修改配置文件5. 修改主题6.其他配置和说明 二、对比命令1.在项目中 git diff 常用命令2.对比电脑上两个文件3.对比电脑上的两个文件夹 三、在Git 命令行中使用效果四、在idea 的Terminal命令行中使用效…...
C# 二进制序列化和反序列化示例
.NET框架提供了两种种串行化的方式: 1、是使用BinaryFormatter进行串行化; 2、使用XmlSerializer进行串行化。 第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储。可以使用[Serializable]属…...
【CSS】文字扫光 | 渐变光
码来 可调整角度与颜色值来改变效果 <p class"gf-gx-color">我是帅哥</p> <style>.gf-gx-color {background: -webkit-linear-gradient(135deg,red,red 25%,red 50%,#fff 55%,red 60%,red 80%,red 95%,red);-webkit-text-fill-color: transparen…...
Overhaul Distillation(ICCV 2019)原理与代码解析
paper:A Comprehensive Overhaul of Feature Distillation official implementation:GitHub - clovaai/overhaul-distillation: Official PyTorch implementation of "A Comprehensive Overhaul of Feature Distillation" (ICCV 2019) 本文的…...
<Linux开发>驱动开发 -之-内核定时器与中断
<Linux开发>驱动开发 -之-内核定时器与中断 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移植过程详…...
希尔贝壳邀您参加2023深圳国际人工智能展览会
2023深圳国际人工智能展览会“AIE”将于2023年5月16-18日在深圳国际会展中心 (宝安)举办,希尔贝壳受邀参加,展位号:A331。 伴随着智能行业的快速发展,展会已被越来越多的企业列入每年必选展会,也成为各采购商选购的理…...
设计优质微信小程序的实用指南!
微信小程序是一种快速发展的应用形式,设计良好的小程序能够提升用户体验并吸引更多的用户。在设计微信小程序时,有一些关键的指南可以帮助我们做出出色的设计。以下是即时设计总结的一些设计指南,希望能对准备设计微信小程序的人有所帮助。 …...
大数据期末总结
文章目录 一、这学期分别学习了Scala、spark、spring、SpringMvc、SpringBoot1、scala2、spark3、spring4、SpringMvc5、SpringBoot 二、总结 一、这学期分别学习了Scala、spark、spring、SpringMvc、SpringBoot 1、scala Scala是一门基于JVM的编程语言,具有强大的…...
selenium面试题总结
今天有同学问到seleinum面试的时候会问到的问题,随便想了想,暂时纪录一下。欢迎大家在评论中提供更多问题。 1.selenium中如何判断元素是否存在? selenium中没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素异常捕获…...
⑧电子产品拆解分析-1拖4USB拓展坞
⑧电子产品拆解分析-1拖4USB拓展坞 一、功能介绍二、电路分析以及器件作用1、内部电路拆解三、参考资料学习一、功能介绍 ①USB2.0一拖四通讯;②具备OTG功能,可适配大部分USB接口设备;二、电路分析以及器件作用 1、内部电路拆解 分析:❤️ ❤️ ❤️ 主控是MA8601 USB 2.0…...
月度精华汇总 | 最新XR行业资讯、场景案例、活动都在这一篇里啦!
在过去的一个月中,平行云为您带来了关于XR领域的一系列精彩文章,涵盖了行业资讯、应用案例,市场互动,帮助您掌握XR领域最新动态,了解实时云渲染、Cloud XR技术的价值,以及平行云实时云渲染解决方案LarkX…...
Redis实战案例1-短信登录
Redis的共享session应用 1. 项目的相关工作 导入sql文件 找到对应的sql文件即可 基本表的信息 基本架构 导入对应的项目文件,启动相关的service服务; 在nginx-1.18.0目录下启动命令行start nginx.exe; 2. 基于session实现登录的流程 这里利用到Javaweb中…...
华为OD机试真题 JavaScript 实现【找终点】【2023 B卷 100分】,附详细解题思路
一、题目描述 给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。 要求: 第一步必须从第一元素开始,且1 < 第一步的步长 &…...
详解数据仓库数据湖及湖仓一体
比别人更快接收好文章 随着近几年数据湖概念的兴起,业界对于数据仓库和数据湖的对比甚至争论就一直不断。有人说数据湖是下一代大数据平台,各大云厂商也在纷纷的提出自己的数据湖解决方案,一些云数仓产品也增加了和数据湖联动的特性。 但是…...
基于注解切换、Hikari实现的SpringBoot动态数据源(支持JNDI)
实现效果 先说效果,要实现方法级别注解切换当前数据源,不设置注解时走默认数据源,同时支持JNDI源。 总体思路 Spring框架中存在一个抽象类AbstractRoutingDataSource,他是一个可以动态选择当前DataSource的路由类,我…...
Java中的动态链接VS操作系统动态链接
在操作系统OS中为了优化内存的使用会采用一种动态链接方式,一个文件想要在操作系统中运行必须经过编译、汇编译、链接、装载等步骤。可以参考Java程序是怎么跑起来的。本篇主要讲解Java栈帧中动态链接部分与操作系统的的动态链接的区别与联系 操纵系统为什么需要动态…...
深入理解Linux虚拟内存管理(七)
系列文章目录 Linux 内核设计与实现 深入理解 Linux 内核 Linux 设备驱动程序 Linux设备驱动开发详解 深入理解Linux虚拟内存管理(一) 深入理解Linux虚拟内存管理(二) 深入理解Linux虚拟内存管理(三) 深入理…...
GSR II 智能速度辅助系统的型式认证和系统作为独立技术单元的型式认证测试流程和技术要求
智能速度辅助系统ISA的型式认证和系统作为独立技术单元的型式认证测试流程和技术要求 补充欧洲议会和欧洲理事会第2019/2144号条例,为机动车智能速度辅助系统的型式认证和这些系统作为独立技术单元的型式认证规定了详细的测试程序和技术要求,并修订该条例的附件二 (1)(EU…...
工厂方法模式(五)
过气的,终究是过气了 上一章简单介绍了工厂模式(四), 如果没有看过,请观看上一章 一.工厂方法模式 工厂方法模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象。 将类的实例化(具体产品的创建&…...
力扣笔记(每日随机一题)——最佳买卖股票时机含冷冻期
问题(中等) 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 卖出股票后&a…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
