命令格式

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. Cloud Computing Deployment Models

    Cloud computing can broadly be broken down into three main categories based on the deployment model. ...

  2. Unix: How to Install BerkeleyDB From Source

    http://www.masaokitamura.com/2010/07/23/unix-how-to-install-berkeleydb-from-source/ This documentati ...

  3. PL/pgSQL的RETURN QUERY例子

    我的例子: 数据准备: create table custinfo(custid integer,callingcnt integer); ,),(,),(,); 函数生成: CREATE OR RE ...

  4. PL/pgSQL学习笔记之二

    39.1.1 使用 PL/pgSQL的好处 SQL是 PostgreSQL和其他大多数关系型数据库作为查询语言而使用的语言.它可移植,并容易学习.但是SQL语句必须被数据库服务器逐条地执行. 这意味着 ...

  5. 【WinForm】C# 采用POST登录京东

    C# POST 传值登录 京东 想做一个DEMO 练练html的传值和接收,就用Winform 做了一个登录京东的程序. 首先参考的网址是: 艹蛋的青春じ 让我蛋疼ミ:http://www.cnblo ...

  6. Codeforces Round #179 (Div. 1) A. Greg and Array 离线区间修改

    A. Greg and Array Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/295/pro ...

  7. 关于c#调用C++代码的一些应用的体会

    1.dll函数的导入:    关键字:unmanaged code ; managed code;    具体应用类:System.Runtime.InteropServices    具体使用方法: ...

  8. java源码部署

    环境:nginx+tomcat部署方式:源码部署源码目录 /chroot2/test/schedule 目录下面就是所有源码了tomcat 位置: /usr/local/tomcat/apache-t ...

  9. target=_parent与target=_top的区别与用途

    转自:http://www.taoshaw.com/taoshaw/article.asp?id=1868 在手动改HTML代码时经常会用到target参数,常用的有两个target=_blank 和 ...

  10. 苹果Swift语言中文教程资源汇总

    苹果swift语言中文教程(零)搭配环境以及代码执行成功http://vjiazhi.com/kaifa/1014.html 苹果Swift语言中文教程(一)基础数据类型 http://vjiazhi ...