git diff对比差异时指定或排除特定的文件和目录
文章目录
- 前言
- git diff指定或者排除文件
- 指定文件和目录
- 排除文件和目录
- 番外篇
- 总结
前言
你一般什么时候会用GPT?
居然会有这种话题,答案就是作为程序员的我天天在用,虽然GPT有个胡说八道的毛病,但试试总没错的,就比如今天题目中这个问题,我也是先查了GPT没好使,但给我提供了查询思路,最后在Stack Overflow上找到解决办法,记录一下
git diff指定或者排除文件
我就直接列答案了,没什么可说的,工具参数记住就好
指定文件和目录
git diff dev..feature --stat -- ':*.pb.go' ':*.pb.h' ':*.pb.cc'
以上语句表示对比dev和feature分支差异的文件,但是只选择后缀为以上三种的文件,如果是特定的目录,将冒号后的内容替换成目录即可,-- ':src/thirdparty'
排除文件和目录
git diff dev..feature --stat -- ':!*.pb.go' ':!*.pb.h' ':!*.pb.cc'
在上面的基础上加个取反的感叹号就行,如果是排除目录就在 !
直接写目录就可以了,这种排除的写法还有另一种形式,用(exclude)
代替感叹号,其中还可以写其他属性,感兴趣可以自己扩展查询一下:
git diff dev..feature --stat -- ':(exclude)*.pb.go' ':(exclude)*.pb.h' ':(exclude)*.pb.cc'
番外篇
今天在某乎上看到一个提问《C++有多难?》,看着大佬们口若悬河、引经据典的在诉说、在吐槽、在愤慨,却引起了我的回忆,我为什么选择C++?
只因为在人群中多看了一眼吧,有先入为主的因素,也有水到渠成的必然。
我最先接触的一门编程语言是C语言,对于刚刚接触编程的我来说,它是那么令人着迷,虽然开发环境是寒酸可怜的Turbo C,但是丝毫没有影响我的学习热情,刚开始打印出一个杨辉三角都开心的不得了,教科书上的每个例子我都敲了很多遍,虽然那古老的教材现在被大佬们批判的不行,但确实领我在代码的世界里入了门。
后来随着学习的推进,又逐步接触了Java、C#等高级语言,也接触了汇编、单片机等偏底层的领域,为什么没有选Java、C#而一直坚守C语言呢?有份程序员的孤傲,当时觉得C语言很酷,我是底层我牛X,你们这些语言不是带个虚拟机,就是拖个运行时一点都Cool,那为什么不选汇编语言呢?咳咳,确实吼不住。
就这样我带着C语言,C语言伴着我开始一步步经历大学生活,当然期间也从一些“旁门左道”里习得只言片语的C++,只是我不知道它还有这个名字,带着舍我其谁的年轻气盛,我和C语言一起去参加各种编程比赛,结果有好有坏,但实力确实很菜,虽然也拿到过一些区域或者国家级的名次,但如今已成过往云烟。
转眼间就来到了大四实习,一个专业100多人,少部分人选择了苹果应用,绝大多数投身于Java开发,而我独自一人选择了嵌入式C,为什么选择嵌入式,因为只有它带“C”,也是在这短暂的几个月里我再一次听说了C++,但仅仅局限于了解C和C++有什么不同,C++好像有个class和struct挺像的。
开始真正的找工作了,受大学和室友一起打dota的影响,我毅然决然的加入了游戏开发大军,在那个各类游戏百花齐放的年代,C/C++在游戏行业有着根深蒂固的基础,因为我的C语言还不错,所以还是顺利的入了坑。
但随着踏入这个坑,我和C++开始正面交锋了,纠缠至今已经有10多年,中间工作6年之后有一次转Golang开发的机会被我拒绝了,我给那个面试官的回答是因为情怀吧,我不能离开C++。
如今我用C++20的标准在工作,与刚开始接触的C++98真的跨了一个世纪,各种语法糖之外是另一些语法糖,每个版本中标准委员会提到的特性,恨不得要3年后的要下个版本才能开发,庞大语言体系使得一些初入社会的毛头小子才配标注“精通”二字,而像我这种使用十多年的菜鸟只敢承认用过C++,略懂皮毛而已。
C++很难吗?真的很难!可不可以简单一点,其实它也可以很简单,不要拿着各种内存问题和我C++挑战,这不是我的强项,但我同样可以写出没有内存泄漏的程序;也不要拿着各种工具、运行时库和我比开发效率,这也不是我的强项,我难道就没有库吗,开源的世界里百花齐放。
不要一提到C++就是面向对象、STL、模板元编程,它是一门编程语言,一门用于完成任务的可编写逻辑的语言,用它写一个冒泡排序也很简单,不要过分夸大他的难度,每次你都把它最难的地方亮出来,对它来说是不公平的。
如今,我不会再说C++就是牛X其他语言都是垃圾这种脑抽的话,C++只是一种语言,一种我暂时还离不开的语言,但它不再是我的唯一,写个小工具偶尔也会使用Python或者Golang,不是我不再爱C++,而是有了更合适的选择而已。
C++,一门集强大与庞大于一身的语言,学会它容易,但学透它确实很难,我们在一起共同成长。
总结
- GPT无处不在,每天必用超过了google
- git diff 指定文件类型
git diff dev..feature -- ':*.pb.go' ':*.pb.h' ':*.pb.cc'
- git diff 排除文件类型
git diff dev..feature -- ':!*.pb.go' ':!*.pb.h' ':!*.pb.cc'
每天提问自己一个问题,试验一段时间,看看是否有效吧,本质还是眼高手低造成了目前的焦虑
相关文章:
git diff对比差异时指定或排除特定的文件和目录
文章目录 前言git diff指定或者排除文件指定文件和目录排除文件和目录 番外篇总结 前言 你一般什么时候会用GPT? 居然会有这种话题,答案就是作为程序员的我天天在用,虽然GPT有个胡说八道的毛病,但试试总没错的,就比如今天题目中这…...

数据结构介绍与时间、空间复杂度
数据结构介绍 什么是数据结构?什么是算法?数据结构和算法的重要性 数据结构定义 数据结构是计算机科学中研究数据组织、存储和管理的一门学科。数据结构描述了数据对象之间的关系,以及对数据对象进行操作的方法和规则。 常见的数据结构 数…...

(c语言进阶)字符串函数、字符分类函数和字符转换函数
一.求字符串长度 1.strlen() (1)基本概念 头文件:<string.h> (2)易错点:strlen()的返回值为无符号整形 #include<stdio.h> #include<string.h> int main() {const char* str1 "abcdef";const char* str2 "bbb&q…...

解决MySQL大版本升级导致.Net(C#)程序连接报错问题
数据库版本从MySQL 5.7.21 升级到 MySQL8.0.21 数据升级完成后,直接修改程序的数据库连接配置信息 <connectionStrings> <add name"myConnectionString" connectionString"server192.168.31.200;uidapp;pwdFgTDkn0q!75;databasemail;&q…...
Java 将对象List转为csv文件并上传远程文件服务器实现方案
问题情景: 最近项目中遇到了根据第三方系统传递过来的参数,封装为List<实体类对象>后,将该实体类转换为csv文件,然后上传到远程的sftp服务器指定目录的需求。 实现思路: List<实体类对象>转为csv文件的…...

分享8个分布式Kafka的使用场景
Kafka 最初是为海量日志处理而构建的。它保留消息直到过期,并让消费者按照自己的节奏提取消息。与它的前辈不同,Kafka 不仅仅是一个消息队列,它还是一个适用于各种情况的开源事件流平台。 1. 日志处理与分析 下图显示了典型的 ELK࿰…...
【再见了暗恋对象 朋友们看完之后的一些感悟】
【再见了暗恋对象】写完之后魏野是我的第一个读者,魏野的反应是:这就是青春啊,喜欢了一个不喜欢自己的人而且男生觉得很困扰女孩子喜欢被牵引着走,但是男孩子牵引就是因为不喜欢这个女孩子,好可怜!青春就这…...
JSON和Protobuf序列化
文章目录 一、粘包和拆包1、半包问题2、半包现象原理 二、JSON协议通信1、通用类库2、JSON传输的编码器和解码器 三、Protobuf协议通信1、一个简单的proto文件的实践案例2、生成POJO和Builder3、消息POJO和Builder的使用案例1)构造POJO消息对象2)序列化和…...

lambda表达式 - c++11
文章目录: lambda表达式概念lambda表达式语法函数对象与lambda表达式 lambda表达式概念 lambda 表达式是 c11 中引入的一种匿名函数,它可以在需要函数对象的地方使用,可以用作函数参数或返回值。lambda 表达式可以看作是一种局部定义的函数对…...
509. 斐波那契数
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1 F(n) F(n - 1) F(n - 2),其中 n > 1给定 n &a…...

四、[mysql]索引优化-1
目录 前言一、场景举例1.联合索引第一个字段用范围查询不走索引(分情况)2.强制走指定索引3.覆盖索引优化4.in和or在表数据量比较大的情况会走索引,在表记录不多的情况下会选择全表扫描5.like 后% 一般情况都会走索引(索引下推) 二、Mysql如何选择合适的索…...
PyTorch入门学习(九):神经网络-最大池化使用
目录 一、数据准备 二、创建神经网络模型 三、可视化最大池化效果 一、数据准备 首先,需要准备一个数据集来演示最大池化层的应用。在本例中,使用了CIFAR-10数据集,这是一个包含10个不同类别图像的数据集,用于分类任务。我们使…...

0基础学习PyFlink——用户自定义函数之UDF
大纲 标量函数入参并非表中一行(Row)入参是表中一行(Row)alias PyFlink中关于用户定义方法有: UDF:用户自定义函数。UDTF:用户自定义表值函数。UDAF:用户自定义聚合函数。UDTAF&…...

英语小作文模板(06求助+描述;07描述+建议)
06 求助描述: 题目背景及要求 第一段 第二段 第三段 翻译成中文 07 描述+建议: 题目背景及要求 第一段 第二段...
为什么感觉假期有时候比上班还累?
假期比上班还累的感觉可能由以下几个原因造成: 计划过度:在假期里,人们往往会制定各种计划,如旅游、聚会、休息等,以充分利用这段时间。然而,如果这些计划过于紧张或安排得过于紧密,就会导致身…...

推理还是背诵?通过反事实任务探索语言模型的能力和局限性
推理还是背诵?通过反事实任务探索语言模型的能力和局限性 摘要1 引言2 反事实任务2.1 反事实理解检测 3 任务3.1 算术3.2 编程3.3 基本的句法推理3.4 带有一阶逻辑的自然语言推理3.5 空间推理3.6 绘图3.7 音乐3.8 国际象棋 4 结果5 分析5.1 反事实条件的“普遍性”5…...

《利息理论》指导 TCP 拥塞控制
欧文费雪《利息原理》第 10 章,第 11 章对利息的几何说明是普适的,任何一个负反馈系统都能引申出新结论。给出原书图示,本文依据于此,详情参考原书: 将 burst 看作借贷是合理的,它包含成本(报文)…...
Bsdiff,Bspatch 的差分增量升级(基于Win和Linux)
目录 背景 内容 准备工作 在windows平台上 在linux平台上 正式工作 生成差分文件思路 作用差分文件思路 在保持相同目录结构进行差分增量升级 服务端(生成差分文件) 客户端(作用差分文件) 背景 像常见的Android 的linux平台,游戏,系统更新都…...

【3妹教我学历史-秦朝史】2 秦穆公-韩原之战
插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 3妹:2哥,今天下班这么早&#…...
车载控制器
文章目录 车载控制器电动汽车上都有什么ECU 车载控制器 智能汽车上的控制器数量因车型和制造商而异。一般来说,现代汽车可能有50到100个电子控制单元(ECU)或控制器。这些控制器负责管理各种系统,如发动机管理、刹车、转向、空调、…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

第2篇:BLE 广播与扫描机制详解
本文是《BLE 协议从入门到专家》专栏第二篇,专注于解析 BLE 广播(Advertising)与扫描(Scanning)机制。我们将从协议层结构、广播包格式、设备发现流程、控制器行为、开发者 API、广播冲突与多设备调度等方面,全面拆解这一 BLE 最基础也是最关键的通信机制。 一、什么是 B…...

MySQL技术内幕1:内容介绍+MySQL编译使用介绍
文章目录 1.整体内容介绍2.下载编译流程2.1 安装编译工具和依赖库2.2 下载编译 3.配置MySQL3.1 数据库初始化3.2 编辑配置文件3.3 启动停止MySQL3.4 登录并修改密码 1.整体内容介绍 MySQL技术系列文章将从MySQL下载编译,使用到MySQL各组件使用原理源码分析…...
跑通 TrackNet-Badminton-Tracking-tensorflow2 项目全记录
📝 跑通 TrackNet-Badminton-Tracking-tensorflow2 项目全记录 git clone https://github.com/Chang-Chia-Chi/TrackNet-Badminton-Tracking-tensorflow2.git TrackNet-Badminton-Tracking-tensorflow2 conda create --prefix /cloud/TrackNet-Badminton-Tracking-…...