12-git diff 比较两个版本之前的区别

知识前提:git 重要的三个工作区域:

  1. 工作区(Working Directory):写代码的目录。就是项目代码存放的目录。
  2. 暂存区(index/stage):工作区与版本库之间的缓冲地带。用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区。
  3. 版本库(仓库区):git commit提交更改,实际上是把暂存区的所有内容全部提交到当前分支,查看记录 git log。

git diff 比较两个版本之前的区别

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 查看当前没有 add 的内容修改;
git diff


# 查看已经 add 没有 commit 的改动
git diff --cached


# 查看当前没有add和commit的改动:
git diff HEAD
# or
git status


# 查看任意两个版本之间的改动:
git diff 版本号码1 版本号码2


# 比较两个版本号码的src 文件夹的差异
git diff 版本号码1 版本号码2 src


git diff branch1 branch2 --stat # 显示出所有有差异的文件(不详细,没有对比内容)
git diff branch1 branch2 # 显示出所有有差异的文件的详细差异(更详细)
git diff branch1 branch2 具体文件路径 # 显示指定文件的详细差异(对比内容)



# 显示摘要而非整个 diff
git diff --stat

git diff 输出信息的含义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ git diff  

# 显示结果如下:

diff --git a/f1 b/f1 # 第一行结果为git格式的diff,进行比较的是,a版本的f1(即变动前)和b版本的f1(即变动后)
index 6f8a38c..449b072 100644 # 第二行两个版本的git哈希值(index区域的6f8a38c对象,与工作目录区域的449b072对象进行比较),最后的六位数字是对象的模式(普通文件,644权限)。
--- a/f1 # 第三行进行比较的两个文件,"---"表示变动前的版本,"+++"表示变动后的版本
+++ b/f1
@@ -1,7 +1,7 @@ # 表示的是变动行的index,下面是截取的内容
a
a
a
-a
+b
a
a
a

12-git diff 比较两个版本之前的区别
https://flepeng.github.io/044-Git-21-命令-12-git-diff-比较两个版本之前的区别/
作者
Lepeng
发布于
2021年3月8日
许可协议