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:记录个人学习,请多多指教。