工作区、暂存区和HEAD文件差异的恢复
先查看下 git 的状态
执行命令:
git status
这个时候,在暂存区有文件index.html、README.md
的变更。
将暂存区所有文件恢复成 HEAD 的状态
执行命令:
git reset HEAD
执行后的结果如图:
此时将 文件index.html、README.md
的变更 取消暂存了。
查看git状态
执行命令:
git status
发现此时 文件index.html、README.md
已经恢复到了工作区
验证 暂存区 和 HEAD 的文件差异
执行命令:
git diff --cached
结果如下:
发现什么也没有了,所以此时暂存区 和 HEAD 的文件差异是一致的。
将暂存区某个文件恢复成 HEAD 的状态
查看当前 git 状态
执行命令:
git status
这个时候,在暂存区有文件index.html、README.md
的变更。
将文件index.html恢复成HEAD的状态
执行命令:
git reset HEAD fileName
具体的命令为:git reset HEAD index.html
再次查看git状态
执行命令:
git status
将工作区某文件恢复成 暂存区 的状态
查看当前 git 状态
执行命令:
git status
在工作区有文件index.html、README.md
的变更
查看 工作区 和 暂存区的文件差异
执行命令:
git diff
将index.html 恢复成暂存区的模样
执行命令:
git checkout -- fileName
具体命令为git checkout -- index.html
再次查看 git 状态和文件差异
- 查看 git 状态
git status
- 文件差异
git diff
发现此时的工作区中,文件index.html
的所有变更在暂存区已经完全一致。