赞
踩
在执行git操作的过程中电脑突然重启导致.git目录下文件损坏导致git所有命令不可用,本文简单记录恢复过程。
通过搜索引擎、chatgpt等途径检索错误信息,几乎无一例外都给出git init的解决办法,尝试后错误仍然存在。后来经过思考git init用来新建工程缺少.git文件的,当前的出错的是已有工程,所以该解决方案不适用本次问题。
印象中git和svn的区别,Git是分布式的而SVN是集中式的,基于Git的特性数据存放在本地,遂萌生尝试通过本地.git文件找回本地分支修改未同步远程仓库的代码。
.git文件夹列表如下图所示,由于对git各个目录及存放的数据不了解,根据本地最后一次修改程序的时间和文件的更新时间来判断哪些文件分支修改相关。经过对比分析发现HEAD文件、refs目录、logs目录和本次问题密切相关。
弄清楚上述文件信息后,发现.git\HEAD和.git\refs\heads\feat\cloudType文件内容异常,根据分支及最后的修改,通过.git\logs\refs目录下对应的分支变化信息修复异常文件。然后尝试使用git命令就恢复正常了。
补充子目录截图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。