git diff
查看未提交的内容
如果你想看未提交的内容,可以用 diff
。
比对暂存区和上一条提交
使用 git diff --staged
可以显示暂存区和上一条提交之间的不同。换句话说,这条指令可以让你看到「如果你立即输入 git commit
,你将会提交什么」:
git diff --staged
--staged
有一个等价的选项叫做 --cached
。这里所谓的「等价」,是真真正正的等价,它们的意 思完全相同。比对工作目录和暂存区
使用
git diff
(不加选项参数)可以显示工作目录和暂存区之间的不同。换句话说,这条指令可以让你看到「如果你现在把所有文件都 add
,你会向暂存区中增加哪些内容」:git diff
比对工作目录和上一条提交
使用
git diff HEAD
可以显示工作目录和上一条提交之间的不同,它是上面这二者的内容相加。换句话说,这条指令可以让你看到「如果你现在把所有文件都 add
然后 git commit
,你将会提交什么」(不过需要注意,没有被 Git 记录在案的文件(即从来没有被 add
过 的文件,untracked files
并不会显示出来。为什么?因为对 Git 来说它并不存在啊)。git diff HEAD
实质上,如果你把
HEAD
换成别的 commit
,也可以显示当前工作目录和这条 commit
的区别。不过这种「如果」是可以列举很多很多的,Git 非常灵活,假如我把每个命令的所有可能性都列举出来, 这本小册会变得杂乱无比没有重点,反而会让你困惑。所以我只讲最常用和最通用的内容,如果你对这些「如果」感兴趣,最好是自己去探索。小结 这一节介绍了一些查看改动内容的方法,大致有这么几类:
1、查看历史中的多个
commit
: log
- 查看详细改动:
git log -p
- 查看大致改动:
git log --stat
commit
: show
- 要看最新
commit
,直接输入git show
;要看指定commit
,输入git show commit 的引用或SHA-1
- 如果还要指定文件,在
git show 的最后加上文件名
diff
- 查看暂存区和上一条
commit
的区别:git diff --staged (或 --cached )
- 查看工作目录和暂存区的区别:
git diff
不加选项参数 - 查看工作目录和上一条
commit
的区别:git diff HEAD
推荐阅读
- 数据结构和算法|LeetCode 的正确使用方式
- #|7.分布式事务管理
- transformer|Swin-Transformer代码讲解-Video Swin-Transformer
- #|算法设计与分析(Java实现)——贪心算法(集合覆盖案例)
- #|算法设计与分析(Java实现)—— 动态规划 (0-1 背包问题)
- #|阿尔法点亮LED灯(一)汇编语言
- #|Multimedia
- #|ARM裸机开发(汇编LED灯实验(I.MX6UL芯片))
- 基础课|使用深度优先搜索(DFS)、广度优先搜索(BFS)、A* 搜索算法求解 (n^2 -1) 数码难题,耗时与内存占用(时空复杂度)对比(附((n^2 - 1) 数码问题控
- #|学习笔记 | Ch05 Pandas数据清洗 —— 缺失值、重复值、异常值