0


Git基础-git diff 比较文件的差异

1.问题讨论的情景

查看 比较 被git管理的文件在 工作区、暂存区和版本库之间的差异,
就需要用到 git diff 命令。
下面讨论以下四个情景下文件的差异的比较:
 * 工作区和暂存区
 * 工作区和版本库
 * 暂存区和版本库
 * 不同版本之间
【查看差异的方式主要是 git diff 命令不同的参数】

2.情景一:查看工作区和暂存区之间文件的差异

**

git diff

命令,默认查看的就是 工作区 和 暂存区之间文件的差异**

  1. git diff
    
    : 查看工作区和暂存区之间所有的文件差异
  2. git diff -- 文件名
    
    :查看具体某个文件 在工作区和暂存区之间的差异
  3. git diff -- 文件名1 文件名2 文件名3
    
    :查看多个文件在工作区和暂存区之间的差异
    【注意】:查看具体文件的时候
    ```

--

文件名

 之间有一个 

空格

,

文件名1

文件名2

文件名3

之间也有

空格


1.初始条件:工作区,暂存区之间保持干净一致的状态
在这里插入图片描述

2.修改工作区中的 文件

在这里插入图片描述

  1. git diff -- 文件名1 文件名2
    
    查看文件的差异

在这里插入图片描述

4.扩展:将工作区中修改的文件添加到暂存区后再比较差异情况

在这里插入图片描述

3.情景二:查看工作区和版本库之间文件的差异

git diff HEAD

: 查看工作区与最新版本库之间的所有的文件差异

git diff 具体某个版本

: 查看工作区与具体某个提交版本之间的所有的文件差异

git diff HEAD -- 文件名

: 查看工作区与最新版本库之间的 指定文件名的文件差异

git diff HEAD -- 文件名1 文件名2 文件名3

:查看工作区与最新版本库之间的 指定文件名的多个文件差异

git diff 具体某个版本 -- 文件名

: 查看工作区与具体某个版本之间的 指定文件名的文件差异

git diff 具体某个版本 -- 文件名1 文件名2 文件名3

:查看工作区与最具体某个版本之间的 指定文件名的多个文件差异

1.初始条件:

9f5a54b

版本只新增了五个文件:a.txt、 b.txt 、c.txt 、d.txt、 e.txt

da27f42

版本修改了 a.txt 和 b.txt 两个文件
当前工作区、暂存区、版本库状态一致

在这里插入图片描述

2.再修改一下 a.txt 文件内容

在这里插入图片描述

3.查看当前工作区 和

9f5a54b

版本直接的文件差异

在这里插入图片描述

4.情景三:查看暂存区和版本库之间文件的差异

》官方文档写的就非常的好!

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

This form is to view the changes you staged for the next commit relative to the named <commit>. 
Typically you would want comparison with the latest commit, so if you do not give <commit>, it defaults to HEAD. 
If HEAD does not exist (e.g. unborn branches) and <commit> is not given, it shows all staged changes. 
--staged is a synonym of --cached.

》 下面是我自己的译文:
此命令 用于查看 暂存区中和 指定提交 之间的文件差异。
特别指出:你可能最想比较暂存区与上一次提交之间的区别,所以,如果你不明确指定 提交的版本号,则默认是HEAD.
如果 HEAD 和 指定版本号都不存在,则该命令会展示暂存区中所有的修改。
--staged 参数和 --cached 参数是一致的。
git diff --cached

: 查看暂存区和 上一次提交 的最新版本(HEAD)之间的所有文件差异

git diff --cached 版本号

: 查看暂存区和 指定版本 之间的所有文件差异

git diff --cached -- 文件名1 文件名2 文件名3

: 查看暂存区和 HEAD 之间的指定文件差异

git diff --cached 版本号 -- 文件名1 文件名2 文件名3

: 查看暂存区和 指定版本 之间的指定文件差异

1.初始条件:

9f5a54b

版本只新增了五个文件:a.txt、 b.txt 、c.txt 、d.txt、 e.txt

da27f42

版本修改了 a.txt 和 b.txt 两个文件

f0c63af

版本修改了 a.txt 文件
当前工作区、暂存区、版本库状态一致

在这里插入图片描述

2.修改文件,并添加到暂存区

在这里插入图片描述

3.查看暂存区与上个提交版本之间的区别

在这里插入图片描述

4.查看暂存区与具体某个版本之间的区别

在这里插入图片描述

5.情景四:查看不同版本库之间文件的差异

git diff 版本号1 版本号2

: 查看两个版本之间的差异

git diff 版本号1 版本号2 -- 文件名1 文件名2

: 查看两个版本之间的指定文件之间的差异

git diff 版本号1 版本号2 --stat

: 查看两个版本之间的改动的文件列表

git diff 版本号1 版本号2 src

: 查看两个版本之间的文件夹 src 的差异

1.查看当前的版本列表

在这里插入图片描述

2.查看两个版本之间的差异

在这里插入图片描述
在这里插入图片描述

6.完成

Congratulations!
You are one step closer to success!

标签: git

本文转载自: https://blog.csdn.net/qq_39505245/article/details/119899171
版权归原作者 NorthCastle 所有, 如有侵权,请联系我们删除。

“Git基础-git diff 比较文件的差异”的评论:

还没有评论