工作区、暂存区和HEAD文件差异的恢复
先查看下 git 的状态
执行命令:
git status
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NYp3uJDN-1577153654324)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1020)]](https://i-blog.csdnimg.cn/blog_migrate/19c3ae9c67c527a2fbbfa107d3cb768c.png)
这个时候,在暂存区有文件index.html、README.md的变更。
将暂存区所有文件恢复成 HEAD 的状态
执行命令:
git reset HEAD
执行后的结果如图:

此时将 文件index.html、README.md的变更 取消暂存了。
查看git状态
执行命令:
git status
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f1r0ufZf-1577153654327)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1023)]](https://i-blog.csdnimg.cn/blog_migrate/fd9013b877fef1055c932780ef872450.png)
发现此时 文件index.html、README.md已经恢复到了工作区
验证 暂存区 和 HEAD 的文件差异
执行命令:
git diff --cached
结果如下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AHDhEYmX-1577153654327)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1024)]](https://i-blog.csdnimg.cn/blog_migrate/3acf38527c4cccd8b32355c6d74e98b3.png)
发现什么也没有了,所以此时暂存区 和 HEAD 的文件差异是一致的。
将暂存区某个文件恢复成 HEAD 的状态
查看当前 git 状态
执行命令:
git status
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wJVDYNJv-1577153654328)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1025)]](https://i-blog.csdnimg.cn/blog_migrate/54b87ef47c01c24144767a02433c8b4a.png)
这个时候,在暂存区有文件index.html、README.md的变更。
将文件index.html恢复成HEAD的状态
执行命令:
git reset HEAD fileName
具体的命令为:git reset HEAD index.html
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-klLN3C2h-1577153654328)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1026)]](https://i-blog.csdnimg.cn/blog_migrate/5a9048527e2ed0361f8218e75014857f.png)
再次查看git状态
执行命令:
git status
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JPvwGK7v-1577153654329)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1028)]](https://i-blog.csdnimg.cn/blog_migrate/da01061feb3476fe30961f5413e0022d.png)
将工作区某文件恢复成 暂存区 的状态
查看当前 git 状态
执行命令:
git status
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8CvH90I9-1577153654329)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1030)]](https://i-blog.csdnimg.cn/blog_migrate/a4357325c2b77a51fec159613b227a7a.png)
在工作区有文件index.html、README.md的变更
查看 工作区 和 暂存区的文件差异
执行命令:
git diff
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GvVIZNJg-1577153654330)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1031)]](https://i-blog.csdnimg.cn/blog_migrate/ee12f2e08f73ee9e208c26056fe85bf9.png)
将index.html 恢复成暂存区的模样
执行命令:
git checkout -- fileName
具体命令为git checkout -- index.html
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sx03sOhT-1577153654330)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1032)]](https://i-blog.csdnimg.cn/blog_migrate/fc15fdf5e1ccb3fbf76b4e7d65ce62eb.png)
再次查看 git 状态和文件差异
- 查看 git 状态
git status
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QB7lVByP-1577153654331)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1033)]](https://i-blog.csdnimg.cn/blog_migrate/f570a18b4424587a3c21da21e4fb797a.png)
- 文件差异
git diff
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0SwXRJd-1577153654331)(evernotecid://621D2FF6-4E72-4E02-9043-55F31F42819B/appyinxiangcom/22553815/ENResource/p1034)]](https://i-blog.csdnimg.cn/blog_migrate/09ea40f317408ebae7da12ee5f5df4da.png)
发现此时的工作区中,文件index.html的所有变更在暂存区已经完全一致。
本文详细介绍了如何使用Git恢复工作区、暂存区和HEAD文件的差异,包括恢复暂存区到HEAD状态、恢复单个文件到HEAD状态以及恢复工作区文件到暂存区状态的方法。
610

被折叠的 条评论
为什么被折叠?



