当前位置: 首页 > news >正文

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? 居然会有这种话题&#xff0c;答案就是作为程序员的我天天在用&#xff0c;虽然GPT有个胡说八道的毛病&#xff0c;但试试总没错的&#xff0c;就比如今天题目中这…...

数据结构介绍与时间、空间复杂度

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

(c语言进阶)字符串函数、字符分类函数和字符转换函数

一.求字符串长度 1.strlen() (1)基本概念 头文件&#xff1a;<string.h> (2)易错点&#xff1a;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 数据升级完成后&#xff0c;直接修改程序的数据库连接配置信息 <connectionStrings> <add name"myConnectionString" connectionString"server192.168.31.200;uidapp;pwdFgTDkn0q!75;databasemail;&q…...

Java 将对象List转为csv文件并上传远程文件服务器实现方案

问题情景&#xff1a; 最近项目中遇到了根据第三方系统传递过来的参数&#xff0c;封装为List<实体类对象>后&#xff0c;将该实体类转换为csv文件&#xff0c;然后上传到远程的sftp服务器指定目录的需求。 实现思路&#xff1a; List<实体类对象>转为csv文件的…...

分享8个分布式Kafka的使用场景

Kafka 最初是为海量日志处理而构建的。它保留消息直到过期&#xff0c;并让消费者按照自己的节奏提取消息。与它的前辈不同&#xff0c;Kafka 不仅仅是一个消息队列&#xff0c;它还是一个适用于各种情况的开源事件流平台。 1. 日志处理与分析 下图显示了典型的 ELK&#xff0…...

【再见了暗恋对象 朋友们看完之后的一些感悟】

【再见了暗恋对象】写完之后魏野是我的第一个读者&#xff0c;魏野的反应是&#xff1a;这就是青春啊&#xff0c;喜欢了一个不喜欢自己的人而且男生觉得很困扰女孩子喜欢被牵引着走&#xff0c;但是男孩子牵引就是因为不喜欢这个女孩子&#xff0c;好可怜&#xff01;青春就这…...

JSON和Protobuf序列化

文章目录 一、粘包和拆包1、半包问题2、半包现象原理 二、JSON协议通信1、通用类库2、JSON传输的编码器和解码器 三、Protobuf协议通信1、一个简单的proto文件的实践案例2、生成POJO和Builder3、消息POJO和Builder的使用案例1&#xff09;构造POJO消息对象2&#xff09;序列化和…...

lambda表达式 - c++11

文章目录&#xff1a; lambda表达式概念lambda表达式语法函数对象与lambda表达式 lambda表达式概念 lambda 表达式是 c11 中引入的一种匿名函数&#xff0c;它可以在需要函数对象的地方使用&#xff0c;可以用作函数参数或返回值。lambda 表达式可以看作是一种局部定义的函数对…...

509. 斐波那契数

斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(n - 1) F(n - 2)&#xff0c;其中 n > 1给定 n &a…...

四、[mysql]索引优化-1

目录 前言一、场景举例1.联合索引第一个字段用范围查询不走索引(分情况&#xff09;2.强制走指定索引3.覆盖索引优化4.in和or在表数据量比较大的情况会走索引&#xff0c;在表记录不多的情况下会选择全表扫描5.like 后% 一般情况都会走索引(索引下推) 二、Mysql如何选择合适的索…...

PyTorch入门学习(九):神经网络-最大池化使用

目录 一、数据准备 二、创建神经网络模型 三、可视化最大池化效果 一、数据准备 首先&#xff0c;需要准备一个数据集来演示最大池化层的应用。在本例中&#xff0c;使用了CIFAR-10数据集&#xff0c;这是一个包含10个不同类别图像的数据集&#xff0c;用于分类任务。我们使…...

0基础学习PyFlink——用户自定义函数之UDF

大纲 标量函数入参并非表中一行&#xff08;Row&#xff09;入参是表中一行&#xff08;Row&#xff09;alias PyFlink中关于用户定义方法有&#xff1a; UDF&#xff1a;用户自定义函数。UDTF&#xff1a;用户自定义表值函数。UDAF&#xff1a;用户自定义聚合函数。UDTAF&…...

英语小作文模板(06求助+描述;07描述+建议)

06 求助描述&#xff1a; 题目背景及要求 第一段 第二段 第三段 翻译成中文 07 描述&#xff0b;建议&#xff1a; 题目背景及要求 第一段 第二段...

为什么感觉假期有时候比上班还累?

假期比上班还累的感觉可能由以下几个原因造成&#xff1a; 计划过度&#xff1a;在假期里&#xff0c;人们往往会制定各种计划&#xff0c;如旅游、聚会、休息等&#xff0c;以充分利用这段时间。然而&#xff0c;如果这些计划过于紧张或安排得过于紧密&#xff0c;就会导致身…...

推理还是背诵?通过反事实任务探索语言模型的能力和局限性

推理还是背诵&#xff1f;通过反事实任务探索语言模型的能力和局限性 摘要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 章&#xff0c;第 11 章对利息的几何说明是普适的&#xff0c;任何一个负反馈系统都能引申出新结论。给出原书图示&#xff0c;本文依据于此&#xff0c;详情参考原书&#xff1a; 将 burst 看作借贷是合理的&#xff0c;它包含成本(报文)&#xf…...

Bsdiff,Bspatch 的差分增量升级(基于Win和Linux)

目录 背景 内容 准备工作 在windows平台上 在linux平台上 正式工作 生成差分文件思路 作用差分文件思路 在保持相同目录结构进行差分增量升级 服务端(生成差分文件) 客户端(作用差分文件) 背景 像常见的Android 的linux平台&#xff0c;游戏&#xff0c;系统更新都…...

【3妹教我学历史-秦朝史】2 秦穆公-韩原之战

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 3妹&#xff1a;2哥&#xff0c;今天下班这么早&#…...

车载控制器

文章目录 车载控制器电动汽车上都有什么ECU 车载控制器 智能汽车上的控制器数量因车型和制造商而异。一般来说&#xff0c;现代汽车可能有50到100个电子控制单元&#xff08;ECU&#xff09;或控制器。这些控制器负责管理各种系统&#xff0c;如发动机管理、刹车、转向、空调、…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...