微信扫码登录

微信扫码登录

邮箱恶意注册过多,目前只支持微信模式
付费课程, 订阅后即可观看
正在播放:如何把错误删除或修改的文件恢复过来
发布于: 2019.01.09
猪瓜哥哥 2020.07.26 00:21

大哥,git commit -m "xxx"才算是一次提交,《如何把错误删除或修改的文件恢复过来》的视频中第1分20秒左右只是删除了,并没有执行git comm -m "xxx"命令啊,怎么就用git checkout HEAD -- 文件名 恢复了啊!这条命令不是指恢复最近一次提交吗?

Codinget 2020.07.26 06:13

咱们说的是不同情况下的恢复,一种是提交后的恢复,也就是你说的这种,这里说得是还没有提交情况下的恢复。是不是我视频中翻车说了提交俩字???

猪瓜哥哥 2020.07.26 12:27

git checkout HEAD -- 文件名 是指恢复最后一次git操作的数据,不管是git rm还是git commit,都算是一次操作;

如果git rm后再git commit,就算是两次操作了,想恢复就得用git checkout HEAD^ -- 文件名

问题的核心就是HEAD是指最后一次操作而非最后一次提交,因为一次完整的提交有可能是先删除再提交到本地仓库

这样理解应该没毛病吧?

Codinget 2020.07.26 13:27

有毛病,有很大毛病,git rm确实是一项操作,但是它只是对工作区进行了操作,对HEAD的指向没有任何影响,也没有生成或改变任何仓库中的版本。

猪瓜哥哥 2020.07.26 14:07

刚看了 git reset 的背后原理,仿佛明白了些许,我再理解理解,多谢!!!

Codinget 2020.07.26 14:10

不客气,你离明白它已经不远了

标 题