git diff、git diff --cached、git diff HEAD 和 我对Git 暂存区的误解

1、git diff:显示工作区与暂存区之间的差异。

首先对版本库中的一个文件进行修改操作,修改后不git add,也不git commit;

git diff 操作后结果如下:成功对比出了我修改增加的一行内容。

2、我对于Git 暂存区的误解

其实对上面结果我一开始是有疑问的(或者说对暂存区是有误解的):

        test1.txt是之前创建后git add和git commit的;那么当时创建test1.txt后进行git add test1.txt,意味着把test1.txt放进了暂存区,git commit 提交更改,把暂存区的test1.txt提交到当前分支;那么暂存区是不是什么都没有了,是不是空白了?!那为什么现在我在工作台修改test1.txt文件后,执行git diff,会告诉我工作台和暂存区的test1.txt文件的不同之处?暂存区不是什么都没有了吗??我甚至怀疑git diff 压根不是对比工作区和暂存区的

迷惑了很久找到一个答案:

        暂存区是一个特殊的区域,用于存储即将提交到 Git 仓库的更改。当你使用 git add 命令时,实际上是在将工作区中的更改添加到暂存区。git commit提交后,暂存区中不会保留提交过的文件的副本,而是保留了你上次提交前暂存的文件状态。嗯~ 我之前对暂存区理解有误!

3、git diff --cached:显示暂存区和仓库之间的差异

 继续步骤1 的操作:

4、git diff HEAD 查看工作区和仓库的差异

5、多一轮测试验证

5.1 测试背景:

5.2 测试过程:

5.3 测试结果:

git diff查看工作区和暂存区差异,

git diff --cached查看暂存区和仓库差异,

git diff HEAD 查看工作区和仓库的差异,

Tips:记录个人学习,请多多指教。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值