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…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
