总而言之,git diff 是很简单的 

:git diff 主要的目的是,显示工作目录与索引区文件之间的差异

git diff -cached  是显示索引区与git 仓库之间的差异的情况

索引区是什么?

据我了解看图就会明白:


这是图中的情况,利用索引区的情况,就是图中的index的位置,git add 就是把当前的目录下的所有文件,添加到索引区;

git diff HEAD 显示工作目录与git 仓库之间的差异;

git diff HEAD^ 是比较上次的提交;

git diff HEAD~2 是比较上两次提交,于是有了,git diff HEAD~n 是比较上n次提交与现在工作区间的关系;


还有扩展插件呢:

--diff-filter=[ACDMRTUXB*]
        显示指定状态的文件:Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), changed (T), are Unmerged (U), are Unknown (X)

这个命令的使用方法是:

dzfdeiMac:git xuyaowen$ git diff --diff-filter=M

diff --git a/git.txt b/git.txt

index 2ec68bf..917fac2 100644

--- a/git.txt

+++ b/git.txt

@@ -1 +1,2 @@

 这是第一个文件,用于远程与github 同步!

+这是这是第一次修改!


//这就是使用后的效果;

git difftool 是使用图形工具显示文件之间的差异

git diff --stat 是列出文件

git diff --filename 只对比给定的文件


历史提交对比: 这个和 git diff HEAD 差不多 都是用来对比的,是其的抽象,具体命令如下:

git diff commit  将所指定的某次提交与当前的工作目录进行对比。

commit 代表的是 commit的哈希值, 也可以是HEAD。 HEAD~n;

哈希值示范:

dzfdeiMac:git xuyaowen$ git diff 2b9d

diff --git a/git.txt b/git.txt

index 2ec68bf..917fac2 100644

--- a/git.txt

+++ b/git.txt

@@ -1 +1,2 @@

 这是第一个文件,用于远程与github 同步!

+这是这是第一次修改!


就是这种的情况,注意自身的能力,提高自己;只有长时间打命令才会真正体会到其中的意义;

请关注:小红旗 我的博客地址是:http://blog.csdn.net/happylaoxu   点我迅速来进行访问!http://blog.csdn.net/happylaoxu

以后我将继续讲解 git 的使用的方法,注意自己的能力!

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐