Git 查看文件差异

Git 查看文件差异

Git 三个区

Git 有三个区:工作区、Stage 区(暂存区)、版本库。这意味着,一个文件可能在这三个区都有所不同。如下图所示,一个文件使用 git add 命令之后,这个文件就转移到了暂存区,继续使用 git commit 之后就转移到了版本库。git diff 使用不同的命令参数可以查看文件在这三个区域中的两两对比的差异。

本地代码(工作区)与暂存区中的差异

git diff

示例结果如下所示:

diff 输出的格式介绍

下面解释上述 git diff 输出的格式:

  • 第一行,展示了使用什么命令做的比较
  • 第二行,100644 代表这是一个普通文件
  • --- 表示原始文件,即这个文件没有修改前的内容
  • +++ 表示新文件,即这个文件修改后的内容
  • -1,5 中的 - 表示原始文件1,5 表示从第 1 行到第 4 行做了改动
  • +1,5 中的 + 表示新文件1,5 表示从第 1 行到第 4 行做了改动
  • @@ -1,5 +1,5 @@ 表示这个文件的第 1 行到第 4 行,变更为了新文件的第 1 行到第 4 行

本地代码(工作区)和版本库的差异

git diff HEAD

HEAD 指:当前工作分支的版本库

如果你当前分支是 master,那么上述命令与下面这行命令是等价的:

git diff master

暂存区和版本库的差异

git diff --cached
# 或
git diff --staged

Git diff 命令与版本库关系图

参考

扫描下面二维码,在手机端阅读: