1、首先,直接运行 git diff 命令,会是什么情况呢?当前我们工作区和暂存区都没有任何变更,git diff 命令返回为空(图示),我们修改一下仓库中的文件内容,目前工作区存在变更,再次运行 git diff 命令,这次可以看到我们的变更了(图示),git diff 其实是看工作区和暂存区相比进行了哪些变更。
2、如果我们工作区改动了很多文件,一个 g坡纠课柩it diff 文件哗啦啦输出一大堆,混在一起根本分不清怎么办? git di熠硒勘唏ff -- FileName1 FileName2 可以通过命令的这种形式针对性的比较某几个文件的变化,注意,文件名可以使用通配符 "*", 并且 git diff -- 后面有一个空格然后再写文件名。
3、有时我们将工作区的变更加到了暂存区(git add), 未提交,然后又在工作区进行了其他一些变更,这时一回头,忘记暂存区到底放了哪些变更了,这怎么办? git diff --cached 命令就是用于比较暂存区目前发生的变更,也可以说是暂存区和目前该分支的最新版本的差异(即HEAD指针指向的版本)
4、最后一种情况,当暂存区变更很多时,git diff --cached 也会哗啦啦输出一堆内容,视觉效果相当差劲,憾魄蜒祓怎么办呢?同理,git diff --cached -- FileName1 FileName2 可以通过命令的这种形式针对性的比较某几个文件的变化,注意,文件名可以使用通配符 "*"