下午commit了一个版本,但是因为数据太多push失败,所以打算利用git reset --hard HEAD~撤销commit,修改.gitignore文件再重新push,但是一不小心撤回多了,使得本地代码消失
解决方案:
git fsck --lost-found:会在本地.git文件夹下出现lost-found/commit文件,里面是上次commit的id(我觉得执行命令之后把之前reset的都给添加回记录里面了)
git reset --hard [hash]:将id把hash替换,然后代码就恢复原状了。(但是在.gitignore记录的文件夹不会恢复)
因为我再次修改了.gitignore文件夹,所以再次push后,会发现上传的是下午commit的代码,只有.gitignore文件是我新上传的。
总而言之是从.gitignore更新回退到2022050702(commit记录)
所以慎用git reset --hard HEAD~,在没有add和commit的时候不要使用

.gitignore更新:git rm -r --cached .
84万+

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



