嗨客网搜索

git文件比较git diff

Git文件比较(git diff)教程

git diff 命令用于比较两个文件之间的不同,git diff 命令可以用来比较工作区、暂存区、工作目录以及两个分支之间的差异。

Git文件比较(git diff)详解

功能

比较两个文件之间的不同。

语法

git diff [options]

参数

参数 描述
options git diff 命令使用的参数。

常用参数

参数 描述
–cached 显示暂存区(已 add 但未 commit 文件)和最后一次 commit (HEAD)之间差异。
–staged 同 --cached。
–stat 查看简单的 diff 比较结果。

git diff命令常用实例

实例

参数 描述
git diff 查看尚未暂存的文件更新了哪些部分,此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异。
也就是修改之后还没有暂存起来的变化内容。
git diff --cached 查看已经暂存起来的文件(staged)和上次提交时的快照之间(HEAD)的差异。
显示的是下一次 commit 时会提交到 HEAD 的内容(不带 -a 情况下)。
git diff HEAD 显示工作版本(Working tree)和 HEAD 的差别。
git diff filename 查看尚未暂存的某个文件的更新。
git diff –cached filename 查看已经暂存起来的某个文件和上次提交的版本之间的差异。
git diff sha1:filename sha2:filename 查看版本 sha1 的文件 filename 和版本 sha2 的文件 filename 的差异。
git diff topic master 直接将两个分支上最新的提交做比较。
git diff topic…master 输出自 topic 和 master 分别开发以来,master 分支上的 changed。
git diff --stat 查看简单的 diff 结果,可以加上 --stat 参数。
git diff test 显示当前目录和另一个叫 ‘test’ 分支的差别。
git diff HEAD – ./lib 显示当前目录下的 lib 目录和上次提交之间的差别。
git diff HEAD^ HEAD 比较上次提交 commit 和上上次提交。
git diff SHA1 SHA2 比较两个历史版本之间的差异。

比较工作目录和暂存区差异

语法

git diff

案例

我们首先,修改本地工作区的文件,增加内容,接着,我们使用 git diff 命令,比较工作区文件与暂存区的差异,具体命令如下:

git diff

执行完毕后,如下图所示:

84_git比较文件差异git diff.png

我们看到,git diff 显示了工作区文件和暂存区文件的差异,现在,我们使用 git add 添加该文件,具体命令如下:

git add .

执行完毕后,如下图所示:

85_git比较文件差异git diff.png

现在,我们再次使用 git diff 查看文件差异,具体命令如下:

git diff

执行完毕后,如下图所示:

86_git比较文件差异git diff.png

我们看到,我们使用 git add 添加文件之后,使用 git diff 比较工作区和暂存区文件已经没有区别了。

比较暂存区和上次提交差异

语法

git diff --cached

案例

我们首先,修改本地工作区的文件,增加内容,接着,我们使用 git add 命令,添加文件,具体命令如下:

git add .

执行完毕后,如下图所示:

87_git比较文件差异git diff.png

现在,我们使用 git diff --cached 查看暂存区和已提交的文件的差异,具体命令如下:

git diff --cached

执行完毕后,如下图所示:

88_git比较文件差异git diff.png

我们看到,显示了暂存区的文件和上次提交的文件的差异,现在,我们使用 git commit 提交本次修改,具体命令如下:

git commit -m"modify haicoder.txt"

执行完毕后,如下图所示:

89_git比较文件差异git diff.png

现在,我们再次使用 git diff --cached 查看暂存区和已提交的文件的差异,具体命令如下:

git diff --cached

执行完毕后,如下图所示:

90_git比较文件差异git diff.png

我们看到,显示了暂存区的文件和上次提交的文件差异已经没有任何差异了。

比较工作版本和HEAD差异

语法

git diff HEAD

案例

我们首先,修改本地工作区的文件,删除几行内容,接着,我们使用 git diff 命令,比较工作版本和 HEAD 的差异,具体命令如下:

git diff HEAD

执行完毕后,如下图所示:

91_git比较文件差异git diff.png

我们看到,我们使用了 git diff 命令,显示了工作区和最近一次提交的文件差异了。

比较指定文件差异

语法

git diff filename

案例

我们首先,修改本地工作区的文件,删除几行内容,接着,我们使用 git diff 命令,比较指定文件的差异,具体命令如下:

git diff haicoder.txt

执行完毕后,如下图所示:

92_git比较文件差异git diff.png

我们看到,我们使用了 git diff 命令,比较了指定文件 haicoder.txt 的文件差异。

Git文件比较(git diff)总结

git diff 命令用于比较两个文件之间的不同,git diff 命令可以用来比较工作区、暂存区、工作目录以及两个分支之间的差异。

嗨客网顶部