| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> git diff 命令6种使用场景 -> 正文阅读 |
|
[开发工具]git diff 命令6种使用场景 |
目录 ?四、git diff 中@@ -x1,y1?+x2,y2 表示的意思 一、背景&目标在之前公司中大家合并代码都是自己解决冲突,然后提交一个MR,具体负责人只是进行简单的代码查看和MR,所以并没了解过git其他命令,因为用不到。但是最近小伙伴们一个需求少的会创景3-4个分支,多的有7-8个分支,上线时自己合并代码是一件比较“艰难”的事情,所以我们需要git的diff 命令来查看具体区别,但是diff 有多种使用场景下面我们来了解一下; 二、git三个区了解因为diff的介绍是离不开这三个区,所以优先了解一下这三个区; Git中的划分为工作区(Working Directory),暂存区(Index,也就是Stage区),版本库(也就是每次提交commit以后的版本)? 工作区、暂存区、本地版本库三个区具体讲解见文章:git 工作区、暂存区、版本库三个区域介绍 三、git diff 6种场景介绍3.1 工作区和暂存区差异对比3.1.1?工作区和暂存区之间的差异
这个命令展示工作区和暂存区之间有区别的文件,以及该文件中有多少区别; ?从这里可以看到工作区和暂存区之间有2个文件被修改过,每个文件中有1处改动; 3.1.2?工作区和暂存区之间的详细差异
这个命令显示的是详细的差异,比如是哪个文件中的哪行有变化;? 相比上面对比情况来看,工作区和暂存区(index 2e6f7ce...)中文件有区别,具体去区别会在下面展示。看上面1、2、3 发现1说明了工作区和暂存区中哪个记录有区别,2中列出了具体文件,3中展示具体文件中具体区别; 3.2?工作区和版本库之间差异3.2.1 工作区和版本库之间差异
这个命令展示工作区和版本库之间有区别的文件,以及该文件中有多少区别; 可以看到这里是有2个文件被修改了,每个文件中只修改了1处; 3.2.2??工作区和版本库之间详细差异
?和之前工作区和暂存区一样,详细展示了具体差异; 3.3 暂存区和版本库之间差异对比如果需要比较暂存区和版本库之间的差异,需要添加–cahced ,其他的指令类似,包括–stat;
暂存区和本地版本库之间差异,因为在本地修改后没有执行git add . 所以目前修改的东西都在工作区,所以暂存区和本地版本库是一致的;
3.4 本地版本库之间提交记录对比3.4.1 本地版本库之间提交记录整体对比
查看本地版本库之间的差异,具体执行如下: 展示两个commit 之间有1个文件被修改了,改动有4行; 3.4.2 本地版本库之间提交记录详细对比
展示具体文件之间的区别 ?从执行结果看到老文件的从199行开始有10行代码变动,而新文件中从199行开始有6行变动; 3.5 不同分支对比3.5.1 两个分支整体对比
?可以看到branch1和branc2两个分支有20个文件被改动,新增191行,删除64行; 3.5.2 两个分支详细对比
?和其他对比是一样的,详细展示两个分支之间具体文件中的不同; 3.6 不同分支下同一文件对比上面两种是来看分支之间不同的,但是没法对比两个分支中同一个文件具体有哪些区别,可以使用下面命令来对比; 说明:如果是代码 则分支后面不用加“--” 就能对比,但是配置文件不行,所以如果查看配置文件的区别还是要添加“--”的;
不同分支,同一个文件对比如下: ?从上面文件看,这个文件是新建的,之前老文件没有,新文件中有影响的32行; 四、git diff 中@@ -x1,y1?+x2,y2 表示的意思其实从上面我们也可以看到,只要是明细对比总会有@@-x1,y1 +x2,y2这样的值,那这些值代表什么那,如果明白这些会对我们有很大帮助,下面来看看具体代表含义; 4.1 demo4.2 具体解释@@后面的两个数字:“-19,7”,表示a文件中第19行开始的后面7行,“+19,6”表示以下数据是b文件中第19行开始后的后面6行。其中“-”表示a文件,“+”表示b文件。下一行用“-”号开头的表示a文件变成b文件的时候,这一行被删除。用“+”开头的则表示a文件变成b文件的时候,这一行被加入。没有正负号开头的部分则表示没有进行修改。 OK到这里git中diff命令的使用场景介绍结束了,大家有问题的可以在评论区留言或私信我哦! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 21:36:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |