参考:工作区和暂存区
Git管理的文件分为:工作区,版本库,版本库又分为暂存区stage和暂存区分支master(仓库)
工作区>>>>暂存区>>>>仓库
git add把文件从工作区>>>>暂存区,git commit把文件从暂存区>>>>仓库,
git diff查看工作区和暂存区差异,
git diff --cached查看暂存区和仓库差异,
git diff HEAD 查看工作区和仓库的差异,
git add的反向命令git checkout,撤销工作区修改,即把暂存区最新版本转移到工作区,
git commit的反向命令git reset HEAD,就是把仓库最新版本转移到暂存区。
git diff 时是分为两种情况的:暂存区为空和暂存区不为空。
首先我们明确知道git diff是比较工作区和暂存区的文件的,如果此时暂存区为空,那么稍微有点不同,即:
1 暂存区为空使用git diff:因为此时暂存区为空,此时使用git diff同样也是比较工作区和仓库,即和使用git diff HEAD结果相同
2 暂存区不为空使用git diff:因为此时暂存区不为空,此时使用git diff比较的就是工作区和暂存区
git reset HEAD,就是把暂存区的修改撤销
标签:HEAD,git,工作,仓库,命令,暂存区,diff From: https://www.cnblogs.com/dewan/p/17807350.html