命令格式

git diff [options] [<commit>] [--] [<path>…​]

git diff [options] --cached [<commit>] [--] [<path>…​]

git diff [options] <commit> <commit> [--] [<path>…​]

git diff [options] <blob> <blob>

git diff [options] [--no-index] [--] <path> <path>

命令参数

--src-prefix=<prefix>
  指定源文件的前缀来代替 "a/"。

--dst-prefix=<prefix>
  指定目标文件的前缀来代替 "b/"。

--no-prefix
  不显示源文件与目标文件的前缀。

实例

a) 比较工作区与暂存区的差异。

$ git diff

b) 比较暂存区与上次提交的差异,显示的是下次不带 -a 选项的 commit 操作时提交的内容。

$ git diff --cached

c) 比较工作区与上次提交的差异,显示的是下次带 -a 选项的 commit 操作时提交的内容。

$ git diff HEAD

d) 比较当前工作区与 dev 分支的差异。

$ git diff dev

e) 比较当前工作区与上次提交的差异,但仅比较 ./src 文件(或目录)。

$ git diff HEAD -- ./src

f) 比较上上次提交与上次提交的差异。

$ git diff HEAD^ HEAD

g) 比较 dev 分支与 master 分支的差异。

$ git diff dev master    # or $ git diff dev..master

h) 显示自从 dev 分支从 master 分支新建后,maser 分支的变化。

$ git diff dev...master

i) 比较本地 master 分支与远程仓库 origin 的 master 分支的差异。

$ git diff master origin/master

更多

http://git-scm.com/docs/git-diff

Git CMD - diff: Show changes between commits, commit and working tree, etc的更多相关文章

  1. 痞子衡嵌入式:第一本Git命令教程(5)- 提交(commit/format-patch/am)

    今天是Git系列课程第五课,上一课我们做了Git本地提交前的准备工作,今天痞子衡要讲的是Git本地提交操作. 当我们在仓库工作区下完成了文件增删改操作之后,并且使用git add将文件改动记录在暂存区 ...

  2. git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origin

    git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch origi ...

  3. Git log diff config高级进阶

    Git 历史相关和 git config 高级进阶 前一段时间分享了一篇<更好的 git log>简要介绍怎么美化 git log 命令,其中提到了 alias命令,今天再继续谈谈 git ...

  4. svn/git的diff、patch

    svn/git的diff.patch 前几天,正当我突突的写代码,企业微信嘀嘀一声响”在不,过来帮我看个bug”.本人一向助人为乐,高兴的冲了过去,然后就开始了一段长达1分钟的问题描述.很明显,此同学 ...

  5. Git CMD - status: Show the working tree status

    命令参数 git status [<options>…​] [--] [<pathspec>…​] 命令格式 --short, -s 短格式输出. -- long 长格式输出, ...

  6. git移除上一次的commit中误添加的文件

    在使用git进行版本管理时,往往会出现一些误操作,比如将一些不加上传的文件放到了暂存区,即上传到了上一次commit中 比如: commit c134ab90ca7c4daf8bfa22e3ad706 ...

  7. git删除某次提交(某个commit)的方法【转】

    本文转载自:https://www.36nu.com/post/275 git删除某次提交(某个commit)的方法 疯狂的兔子 发表于 4个月前 阅读 536 收藏 0 推荐 0 评论 0 推荐收藏 ...

  8. [SourceTree] - 提交代码失败 "git -c diff.mnemonicprefix=false -c core.quotepath=false" 之解决

    背景 使用 SourceTree 提交代码失败,尝试了重装 SourceTree 和 Git 问题依旧. 错误信息 git -c diff.mnemonicprefix=false -c core.q ...

  9. Git GUI,Git Bash,Git CMD之间的区别

    Git GUI,Git Bash,Git CMD之间的区别 Git Bash: Bash,Unix shell的一种,Linux与Mac OS X v10.4都将它作为默认shell.Git Bash ...

随机推荐

  1. ios游戏开发 Sprite Kit教程:初学者 1

    注:本文译自Sprite Kit Tutorial for Beginners 目录 Sprite Kit的优点和缺点 Sprite Kit vs Cocos2D-iPhone vs Cocos2D- ...

  2. POJ 3922A Simple Stone Game

    题目链接 A Sample Stone Game 题目大意:给定n,k,表示最初时有n个石头,两个人玩取石子游戏,第一个人第一次可以取1~n-1个石头,后面每个人最多可以拿走前面一个人拿走的个数的K倍 ...

  3. Unity3D之Mecanim动画系统学习笔记(八):Animator Layers(动画分层)

    解决什么问题? 动画分层可以用来解决什么样的问题呢?试想一下如果你要开发一款第三人称的射击游戏,那么肯定是希望身体的动画分为上下两部分,上方根据瞄准的位置和是否射击进行动画播放,下方根据移动播放动画. ...

  4. Epplus 使用的简单介绍

    操作Excel的主要有以下类库: MyXls(http://sourceforge.net/projects/myxls/) Koogra(http://sourceforge.net/project ...

  5. C# WinForm控件、自定义控件整理(大全)

    转:http://www.cnblogs.com/top5/archive/2010/04/29/1724039.html 对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, ...

  6. SqlServer获取表结构语句

    --sql server 2005-- 1. 表结构信息查询 -- ================================================================== ...

  7. 小学生玩ACM----优先队列

    思来想去,本人还是觉得,这个优先队列啊,不学不行,怎么说咧?虽说有时候我可以模仿它的功能,但是有的题目会坑的我大放血,况且多学会用一个小东东总不会伤身的撒,何况我是永举不垂的,哦耶,嘿嘿 优先队列嘛就 ...

  8. [MODX] 2. Chunks $

    Chunk in Modx can cut your template into samll pieces to make code reuseable. [[$chunk_name]] For ex ...

  9. 在 Fedora 里安装自带的 MATE和 cinnamon

    参见  http://wiki.mate-desktop.org/download#fedora安装方法: yum groupinstall mate-desktop yum groupinstall ...

  10. as 中的反射

    flash.utils包中的getDefinitionByName,getQualifiedClassName,getQualifiedSuperclassName..可以当做反射用. 1.getDe ...