git diff 命令6种使用场景

这篇具有很好参考价值的文章主要介绍了git diff 命令6种使用场景。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、背景&目标

二、git三个区了解

三、git diff 6种场景介绍

3.1 工作区和暂存区差异对比

3.2 工作区和版本库之间差异

3.3 暂存区和版本库之间差异对比

3.4 本地版本库之间提交记录对比

3.5 不同分支对比

3.6 不同分支下同一文件对比

 四、git diff 中@@ -x1,y1 +x2,y2 表示的意思

4.1 demo

4.2 具体解释


一、背景&目标

在之前公司中大家合并代码都是自己解决冲突,然后提交一个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 工作区和暂存区之间的差异

git diff  --stat

这个命令展示工作区和暂存区之间有区别的文件,以及该文件中有多少区别;

git diff,Git,git,github

 从这里可以看到工作区和暂存区之间有2个文件被修改过,每个文件中有1处改动;

3.1.2 工作区和暂存区之间的详细差异

git diff 

这个命令显示的是详细的差异,比如是哪个文件中的哪行有变化; git diff,Git,git,github

相比上面对比情况来看,工作区和暂存区(index 2e6f7ce...)中文件有区别,具体去区别会在下面展示。看上面1、2、3 发现1说明了工作区和暂存区中哪个记录有区别,2中列出了具体文件,3中展示具体文件中具体区别;

3.2 工作区和版本库之间差异

3.2.1 工作区和版本库之间差异

git diff HEAD  --stat
git diff commit_id --stat  

这个命令展示工作区和版本库之间有区别的文件,以及该文件中有多少区别;

git diff,Git,git,github

可以看到这里是有2个文件被修改了,每个文件中只修改了1处;

3.2.2  工作区和版本库之间详细差异

git diff HEAD
git diff commit_id

git diff,Git,git,github

 和之前工作区和暂存区一样,详细展示了具体差异;

3.3 暂存区和版本库之间差异对比

如果需要比较暂存区和版本库之间的差异,需要添加–cahced ,其他的指令类似,包括–stat;

 git diff --cached HEAD --stat
 git diff --cached commit_id --stat

暂存区和本地版本库之间差异,因为在本地修改后没有执行git add . 所以目前修改的东西都在工作区,所以暂存区和本地版本库是一致的;

git diff --cached HEAD
git diff --cached commit_id

3.4 本地版本库之间提交记录对比

3.4.1 本地版本库之间提交记录整体对比

git diff  e8f4da5267e 2a010f1ff6  --stat

查看本地版本库之间的差异,具体执行如下:

git diff,Git,git,github

展示两个commit 之间有1个文件被修改了,改动有4行;

3.4.2 本地版本库之间提交记录详细对比

git diff  e8f4da5267e 2a010f1ff6

展示具体文件之间的区别

git diff,Git,git,github 从执行结果看到老文件的从199行开始有10行代码变动,而新文件中从199行开始有6行变动;

3.5 不同分支对比

3.5.1 两个分支整体对比

git diff branch1 branch2 --stat

git diff,Git,git,github 可以看到branch1和branc2两个分支有20个文件被改动,新增191行,删除64行;

3.5.2 两个分支详细对比

git diff branch1 branch2

git diff,Git,git,github 和其他对比是一样的,详细展示两个分支之间具体文件中的不同;

3.6 不同分支下同一文件对比

上面两种是来看分支之间不同的,但是没法对比两个分支中同一个文件具体有哪些区别,可以使用下面命令来对比;

说明:如果是代码 则分支后面不用加“--” 就能对比,但是配置文件不行,所以如果查看配置文件的区别还是要添加“--”的;

 git diff master_12 release_12  -- src/main/resources/bootstrap-dev.yml

不同分支,同一个文件对比如下:

git diff,Git,git,github 从上面文件看,这个文件是新建的,之前老文件没有,新文件中有影响的32行;

四、git diff 中@@ -x1,y1 +x2,y2 表示的意思

其实从上面我们也可以看到,只要是明细对比总会有@@-x1,y1 +x2,y2这样的值,那这些值代表什么那,如果明白这些会对我们有很大帮助,下面来看看具体代表含义;

4.1 demo

git diff,Git,git,github

4.2 具体解释

@@后面的两个数字:“-19,7”,表示a文件中第19行开始的后面7行,“+19,6”表示以下数据是b文件中第19行开始后的后面6行。其中“-”表示a文件,“+”表示b文件。下一行用“-”号开头的表示a文件变成b文件的时候,这一行被删除。用“+”开头的则表示a文件变成b文件的时候,这一行被加入。没有正负号开头的部分则表示没有进行修改。

OK到这里git中diff命令的使用场景介绍结束了,大家有问题的可以在评论区留言或私信我哦!文章来源地址https://www.toymoban.com/news/detail-756569.html

到了这里,关于git diff 命令6种使用场景的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git的常用命令以及使用场景

    在学习Git命令之前,需要先了解工作区,暂存区和版本库这三个概念 在使用Git进行版本控制时,有三个重要的概念:工作区、暂存区和版本库 工作区(Working Directory):工作区是指项目所在的目录,是进行代码编写和修改的地方。在工作区中,可以添加、修改或删除文件。 暂存

    2024年02月15日
    浏览(41)
  • github使用笔记及git协作常用命令

    1.Github有一个主库 ,每个人自己也有一个库,称为分支。 2.Github的协作流程 :先从主库fork出自己的分支, 然后进行代码的修改等操作, 操作完之后从本地库上推到自己的服务器分支,然后 服务器分支Pull Request到 主库。 3.本地仓库由git维护的三棵“树\\\"组成 :第1个是工作目

    2024年02月14日
    浏览(47)
  • 记一次使用git prune 命令的场景分析

    自动化测试团队在 Jenkins 上配置了用于运行自动化项目的 Job。今天,Job 在执行 git fetch 时报了下面的错误: 自动化团队成员无法解决此问题,于是,我这边帮忙阅读了 Job 的日志,使用 git prune 解决问题;找出了导致此异常场景的原因,并重现场景,让大家了解此场景,避免

    2024年02月03日
    浏览(34)
  • Git常用命令,配合GitHub的使用技巧

    1、git init:初始化仓库 2、git status:查看仓库的状态 工作树和仓库在被操作过程中,状态会不断发生变化。在Git操作过程中常用git status 来查看当前状态,是基本的操作。 3、git add:向暂存区中添加文件 如果只是利用Git仓库创建了文件,那么文件并不会被记入Git 仓库的版本

    2024年01月23日
    浏览(50)
  • github使用教程(包括git命令、git Desktop桌面端)——从安装到入门,适合小白

    2023.12.09持续更新中 计划再更新一些git软件命令以及git Desktop使用方法 众所周知,github上有着丰富且优秀的项目以及学习资源,对于想从该平台上学习生信的人来说,可以提供很大帮助。 因此,本文主要是想记录一下自己学习的步骤(记录向),同时分享给有需要帮助的人。

    2024年04月13日
    浏览(52)
  • Git必知必会基础(07):git diff的使用

    本系列汇总,请查看这里 :https://www.cnblogs.com/uncleyong/p/10854115.html git diff的作用 git diff主要用于比较差异,比如工作区和暂存区、暂存区和本地仓库、分支和分支等; git diff可以帮助我们找出代码中的变更,从而更好地管理代码。 数据准备 本地仓库 工作区修改:修改qzcsbj.

    2024年04月15日
    浏览(78)
  • 史上最详细教程------使用git命令将代码上传到GitHub(一看就会)

    计算机专业的朋友们想必肯定听说过git和GitHub这两个名词吧. git是什么呢? 简单来说:git是一款最流行的版本控制工具.通过git可以用来进行代码的提交 更新 下载等. GitHub是什么呢? GitHub是全球最大的代码托管平台,全球的开发人员将自己的代码托管给这个平台.上面有很多开源的

    2024年02月09日
    浏览(79)
  • 【Linux】:使用git命令行 || 在github创建项目 || Linux第一个小程序——进度条(进阶版本)

    在本章开始之前还是先给大家分享一张图片 这是C++的笔试题 感兴趣的同学可以去试一试 有难度的哟 也可以直接在牛客网直接搜索这几道题目哈 好了今天我们正式进入我们的正题部分 安装git 使用 Github 创建项目 注册账号 创建项目 ♨️1. 登陆成功后, 进入个人主页, 点击左下

    2024年02月05日
    浏览(51)
  • 【git】工作场景中常用的git命令

    工作场景中常用的git命令,记录下来方便调取 一般与他人合作,至少你提交的名字得被人熟知或者遵循规范,因此需要更改名字和邮箱 全局修改 只对本项目的修改 有时候你想使用简略的命令如直接 git push 而不指定远程分支,则需要设置一个远程分支作为你的上游分支 我们

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包