在git提交环节,存在三大部分:working tree(工作区), index file(暂存区:stage), commit(分支:master)

working tree:就是你所工作在的目录,每当你在代码中进行了修改,working tree的状态就改变了。

index file:是索引文件,它是连接working tree和commit的桥梁,每当我们使用git-add命令来登记后,index file的内容就改变了,此时index file就和working tree同步了。

commit:是最后的阶段,只有commit了,我们的代码才真正进入了git仓库。我们使用git-commit就是将index file里的内容提交到commit中,此时commit就和index file同步了。

总结一下:
git diff:是查看working tree与index file的差别的。(git add后两者就同步)
git diff --cached:是查看index file与commit的差别的。(git commit后两者就同步)
git diff HEAD:是查看working tree和commit的差别的。(你一定没有忘记,HEAD代表的是最近的一次commit的信息,即:git commit后working tree未做任何操作,那么两者就是同步的,没有差异信息)

转载于:https://www.cnblogs.com/cb0327/p/5051197.html

git diff的用法相关推荐

  1. git am, git apply, git format-patch,git diff 用法

    传统的patch可能会丢失一些信息,git 提供两种打patch方法, git diff , git format-patch,两种的区别在于前者打出来的patch中不带有提交信息, 后者打出来的pa ...

  2. git diff 常见用法

    (本文转自https://www.cnblogs.com/qianqiannian/p/6010219.html,感谢原作者总结) git diff 用于比较两次修改的差异 1.1 比较工作区与暂存区 ...

  3. git diff 命令获取变更的文件列表

    git diff 一般用法 git diff commit id1 commit id2 > xxxx.diff git apply xxxx.diff 获取文件列表,加- -stat参数.或者 ...

  4. git diff生成patch用法

    # git diff ./ > test.patch //生成patch # patch -p1 < test.patch //打patch # git apply test.patch ...

  5. Git补丁简单用法介绍(打补丁.diff 和 .patch 和 git apply、git am应用)

    打补丁.diff 和 .patch 和 git apply.git am应用 生成patch git format-patch -M master 生成指定patch,afc425592dc7dde9 ...

  6. Linux的diff和git diff生成patch/打patch

    一.Linux的diff生成patch和打patch 1.单个文件生成patch #  diff -up xxx/a.txt yyy/b.txt  > mypatch_1 参数解释: -u:显示 ...

  7. git版本管理工具用法介绍

     1. 概要 Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,对于软件开发领域来说版本控制是最重要的一环,而 Git 毫无疑问是当下最流行.最好用的版本控制系统. 2. ...

  8. Git进阶(十三):分支比较 git diff

    文章目录 一.前言 二.拓展阅读 一.前言 git diff 用来比较文件之间的不同,其基本用法如下. git diff:显示工作目录(working tree)与索引区(即暂存区快照,就是git a ...

  9. Git使用 从入门到入土 收藏吃灰系列 (十三) git stash、git check-pick、git tag、git diff

    文章目录 一.前言 二.git stash 存储到堆栈 三.Git tag 标签 四.git cherry-pick 挑选合并 五.git diff 本节速览 git stash 堆栈 git tag ...

最新文章

  1. python opencv 峰值信噪比
  2. 【译】Go语言声明语法
  3. C和C++中的野指针问题
  4. 怎么查看端口占用情况?
  5. SQL表名,应该用复数还是单数
  6. [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  7. 哲学上的终极问题:你在追求什么?
  8. 【经验分享】h3c模拟器HCL安装问题集锦
  9. [Oracle]分区索引
  10. [2018.07.10 T3]数论题
  11. The serializable class Myplayer does not declare a static final serialVersionUID field of type long
  12. 0x00F749F6 处(位于 基于多态实现职工管理系统.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突。
  13. word2016 卡顿_word2016经常发生卡顿现象
  14. Nginx 部署、反向代理配置、负载均衡
  15. Respon.WriteFile 下载文件
  16. 1438 绝对差不超过限制的最长连续子数组(暴力破解)
  17. java开源即时通讯软件服务端openfire源码构建
  18. eNSP解决OSPF不规则区域几个方法和vlink-peer
  19. fstream用法总结 C++
  20. MapGuide源码分析----MapGuide Web扩展源码分析

热门文章

  1. C++11新特性之新类型与初始化
  2. 在一个空的Eclipse中安装Android开发的ADT和SDK
  3. python--二进制的用法
  4. mysql 和 sqlserver中备份一张表的区别
  5. Oracle调优综述
  6. ***测试之情报收集
  7. 沙利文:奢侈品防伪领域RFID技术作用巨大
  8. mac安装brew和zsh
  9. Spring学习(8)--- @Autowired注解(一)
  10. mysql Table 'plugin' already exists