说明

以下命令可以不指定 <filename>,表示对全部文件操作。 命令涉及和 Git本地仓库对比的,均可指定 commit 的版本。

  • HEAD 最近一次 commit
  • HEAD^ 上次提交
  • HEAD~100 上100次提交
  • commit版本是每次提交产生的哈希值

工作区 vs 暂存区

查看文件在工作目录与暂存区的差别。如果还没 add 进暂存区,则查看文件自身修改前后的差别。也可查看和另一分支的区别。

git diff <filename>

暂存区 vs 本地仓库

查看已经 add 进暂存区但是尚未 commit 的内容同最新一次 commit 时的内容的差异。 也可以指定仓库版本

git diff --cached <filename>

工作区 vs 本地仓库

git diff <commit> <filename>

查看工作区同本地仓库指定 commit 的内容的差异。 <commit>=HEAD 时:查看工作目录同最近一次 commit 的内容的差异。

git diff HEAD^ <文件名>

则显示上一次提交之前工作目录与git仓库之间的差异。所以我们在git pull后,可以通过git diff HEAD^来查看拉下来的文件有那些具体的修改。

Git本地仓库 vs Git本地仓库

Git仓库任意两次 commit 之间的差别。

git diff <commit> <commit>

分支 vs 分支

#显示出所有有差异的文件的详细差异
git diff <branchA> <branchB> #比较当前分支时可省略
git diff <目标分支> # 比较A分支中有B分支没有的提交记录
git log branchA ^branchB #显示出branch1和branch2中差异的部分
git diff branch1 branch2 --stat #生成一个.diff文件记录所有差异
git diff [branchA] [branchB] >>d:/diff/exportname.diff

git diff 比较差异的更多相关文章

  1. git diff获取差异文件中文乱码的解决办法

    通过git的diff命令对两个commit id的版本进行差异化的对比.中文文件时出现乱码. git diff 6bded8d0c1fe1746c122121217dc0c88667091089 a9 ...

  2. 消除Git diff中^M的差异

    消除Git diff中^M的差异 在Windows上把一个刚commit的文件夹上传到了Ubuntu.在Ubuntu上使用git status查看,发现很多文件都被红色标注,表示刚刚修改未add.在W ...

  3. git diff 差异对比

    转载原文: http://fsjoy.blog.51cto.com/318484/245465/ 1. 查看当前所有的更改情况.git status 结果有3部分,changes to be comm ...

  4. git diff比较版本差异(生成补丁)

    1.git diff [<options>] <commit> <commit> options 使用--name-only(git diff HEAD cd504 ...

  5. git diff ^M的消除

    这是由于换行符在不同的操作系统上定义的区别造成的. Windows用CR LF来定义换行,Linux用LF. CR全称是Carriage Return ,或者表示为\r, 意思是回车. LF全称是Li ...

  6. git diff的用法

    在git提交环节,存在三大部分:working tree(工作区), index file(暂存区:stage), commit(分支:master) working tree:就是你所工作在的目录, ...

  7. Git diff 常见用法

      Git diff 用于比较两次修改的差异 1.1 比较工作区与暂存区 git diff  比较的是单个仓库的工作区与暂存区的差别,repo diff是对git diff的封装,用来分别显示各个项目 ...

  8. Git:git diff 命令详解

    工作目录 vs 暂存区 $ git diff <filename> 意义:查看文件在工作目录与暂存区的差别.如果还没 add 进暂存区,则查看文件自身修改前后的差别.也可查看和另一分支的区 ...

  9. git diff 结果分析

    git diff 的5个使用场景: 1.staging area和working area的文件 (无其他参数时) git diff   2.master分支和working area的文件 (用ma ...

随机推荐

  1. Java学习之随堂笔记系列——day03

    内容回顾:1.标识符和类型转换    1.1 标识符:给类.方法.变量取得名字就是标识符.        命名规则:            1.必须是字母.数字._.$组成            2. ...

  2. ios web 媒体查询兼容

    原文:https://blog.csdn.net/dear_zx/article/details/82785250 防止链接丢失,复制一下 兼容iphone4/4s: @media (device-h ...

  3. css 常用语法

    1.禁止某个元素内的任何选中操作: .classname{ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: no ...

  4. 使用VisualStudioCode开发Vue

    前言 本文主要介绍在VisualStudioCode下开发Vue. Nodejs.Npm.Vue的项目搭建参考下面文章. 用后台开发的逻辑理念学习VUE 在Windows下学习Nodejs.Npm和V ...

  5. Python setattr() 函数 ,Python super() 函数: Python 内置函数 Python 内置函数

    描述 setattr 函数对应函数 getatt(),用于设置属性值,该属性必须存在. 语法 setattr 语法: setattr(object, name, value) 参数 object -- ...

  6. Java实现爬取京东手机数据

    Java实现爬取京东手机数据 最近看了某马的Java爬虫视频,看完后自己上手操作了下,基本达到了爬数据的要求,HTML页面源码也刚好复习了下,之前发布两篇关于简单爬虫的文章,也刚好用得上.项目没什么太 ...

  7. 14-Java锁的概述

    14-锁的概述 乐观锁与悲观锁 ​ 乐观锁与悲观锁是数据库中引入的名词,但是在并发包里也引入了类似的思想,在这里我们还是有必要需要了解一下. ​ 悲观锁指数据被外界修改持保守态度,认为数据会很容易被其 ...

  8. Java学习路线【转】

    Java学习路线[转] 第一阶段:JavaSE(Java基础部分) Java开发前奏 计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置,程序的执行过程,相 ...

  9. FastAPI 学习之路(十一)请求体 - 嵌套模型

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  10. 一文弄懂CGAffineTransform和CTM

    一文弄懂CGAffineTransform和CTM 一些概念 坐标空间(系):视图(View)坐标空间与绘制(draw)坐标空间 CTM:全称current transformation matrix ...