1、问题讨论的情景
查看 比较 被git管理的文件在 工作区、暂存区和版本库之间的差异,
就需要用到 git diff 命令。
下面讨论以下四个情景下文件的差异的比较:
* 工作区和暂存区
* 工作区和版本库
* 暂存区和版本库
* 不同版本之间
【查看差异的方式主要是 git diff 命令不同的参数】
2、情景一:查看工作区和暂存区之间文件的差异
git diff 命令,默认查看的就是 工作区 和 暂存区之间文件的差异
1、git diff : 查看工作区和暂存区之间所有的文件差异
2、git diff -- 文件名:查看具体某个文件 在工作区和暂存区之间的差异
3、git diff -- 文件名1 文件名2 文件名3:查看多个文件在工作区和暂存区之间的差异
【注意】:查看具体文件的时候 -- 和文件名 之间有一个 空格,文件名1 和 文件名2 和 文件名3之间也有空格
2.1、初始条件:工作区,暂存区之间保持干净一致的状态

2.2、修改工作区中的 文件

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

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

3、情景二:查看工作区和版本库之间文件的差异
git diff HEAD : 查看工作区与最新版本库之间的所有的文件差异
git diff 具体某个版本 : 查看工作区与具体某个提交版本之间的所有的文件差异
git diff HEAD -- 文件名 : 查看工作区与最新版本库之间的 指定文件名的文件差异
git diff HEAD -- 文件名1 文件名2 文件名3 :查看工作区与最新版本库之间的 指定文件名的多个文件差异
git diff 具体某个版本 -- 文件名 : 查看工作区与具体某个版本之间的 指定文件名的文件差异
git diff 具体某个版本 -- 文件名1 文件名2 文件名3 :查看工作区与最具体某个版本之间的 指定文件名的多个文件差异
3.1、初始条件:
9f5a54b版本只新增了五个文件:a.txt、 b.txt 、c.txt 、d.txt、 e.txtda27f42版本修改了 a.txt 和 b.txt 两个文件
当前工作区、暂存区、版本库状态一致

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

3.3、查看当前工作区 和 9f5a54b版本直接的文件差异

4、情景三:查看暂存区和版本库之间文件的差异
git diff --cached : 查看暂存区和 上一次提交 的最新版本(HEAD)之间的所有文件差异
git diff --cached 版本号 : 查看暂存区和 指定版本 之间的所有文件差异
git diff --cached -- 文件名1 文件名2 文件名3 : 查看暂存区和 HEAD 之间的指定文件差异
git diff --cached 版本号 -- 文件名1 文件名2 文件名3 : 查看暂存区和 指定版本 之间的指定文件差异
4.1、初始条件:
9f5a54b版本只新增了五个文件:a.txt、 b.txt 、c.txt 、d.txt、 e.txtda27f42版本修改了 a.txt 和 b.txt 两个文件f0c63af版本修改了 a.txt 文件
当前工作区、暂存区、版本库状态一致

4.2、修改文件,并添加到暂存区

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

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

5、情景四:查看不同版本库之间文件的差异
git diff 版本号1 版本号2 : 查看两个版本之间的差异
git diff 版本号1 版本号2 -- 文件名1 文件名2 : 查看两个版本之间的指定文件之间的差异
git diff 版本号1 版本号2 --stat : 查看两个版本之间的改动的文件列表
git diff 版本号1 版本号2 src : 查看两个版本之间的文件夹 src 的差异
5.1、查看当前的版本列表

5.2、查看两个版本之间的差异




本文详细讨论了使用gitdiff命令在不同场景下查看文件差异的方法,包括工作区与暂存区、工作区与版本库、暂存区与版本库以及不同版本之间的差异比较。通过具体的步骤和示例,阐述了如何使用不同参数来定位和查看文件的变化。
755

被折叠的 条评论
为什么被折叠?



