git中关于git diff的理解

git diff命令是用来描述工作区,暂存区,版本区之间的差别。不过git diffgit diff head差别只针对现有文件,不针对新添文件(个人推测,理由在最下方)

git diff --cached命令


用来描述暂存区和版本区的差别
当暂存区和版本库都有一样的文件时,如果我们在暂存区进行添加,修改文件,那么git会给出具体的差别。

修改操作

原来的789.txt文件内容:
在这里插入图片描述
现在的789.txt文件内容:
在这里插入图片描述

输入git-diff --cached命令
在这里插入图片描述

添加操作:

原来的文件数量:
在这里插入图片描述
添加一个1011.txt文件:
在这里插入图片描述

输入git diff --cached执行
在这里插入图片描述

git-diff命令


用来描述工作区和暂存区的差别
当工作区和暂存区的文件一致的时候,我们对工作区的文件进行修改,删除的时候,git会给出具体的差别,但如果新添加一个文件,git不会做出反应。

修改操作:

原来的456.txt文件内容:
在这里插入图片描述
现在的456.txt文件内容:
在这里插入图片描述
输入 git diff
在这里插入图片描述
因为删除操作和修改操作的结果差不多,这里就不演示了,可以自己尝试下

添加操作

原来的文件数量:
在这里插入图片描述
添加一个1011.txt文件:

在这里插入图片描述
输入git diff
在这里插入图片描述
这里没有显示差别,至于为什么没有显示差别,等等在下面会讲讲我的见解

git diff head命令


显示工作区和版本库的差别
当工作区和版本库两者的文件一样的时候,在工作区修改,删除文件,git会给出具体差别,而添加新的文件的花,git不会给出具体差别,即没有反应。

修改操作

原来的1011.txt文件内容:
在这里插入图片描述

现在的1011.txt文件内容:
在这里插入图片描述
输入git diff head命令
在这里插入图片描述
删除操作的效果也是一样,所以这里先不演示了。

添加操作

原来的文件数量:
在这里插入图片描述添加一个1213.txt文件

在这里插入图片描述
输入git diff head命令
在这里插入图片描述
这里git给出的答案都是没有反应的,和添加文件然后输入git diff 一样。

为什么添加文件时git diff headgit diff命令,git都是没反应呢?
下面是我结合下面的文章得出的结论,如果和实际不符,可以留言或私信。

https://blog.csdn.net/u013485584/article/details/53303858#commentBox

我觉得使用git diff进行比较的时候,分两种情况
一:当暂存没有相对应的文件时,那么就去到之前提交到版本库的记录里面寻找有没有
相对应的文件,如果有,则进行比较,如果还是没有,那么就不做比较,即没有反应

二:当暂存有相对应的文件时,就和暂存区里的文件进行比较。

git diff head的话只有一种情况,那就是git diff的第一种情况
当版本库有相对应的文件的时候,进行比较,如果没有,则不做比较,即没有反应。

到这里就结束了,刚入门git,如果有什么地方错误的话,欢迎指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值