如何使用Git恢复被git rm误删的本地Angular项目文件夹
重要前提:先不要往项目所在的磁盘分区写入任何新文件,避免删除的文件数据被覆盖,降低恢复成功率
本地被
git rm -rf删除的文件夹恢复方案 场景一:项目内容已提交过本地Git提交记录
按以下步骤操作即可快速恢复:
- 进入Git仓库根目录,执行
git status确认删除的文件夹处于Git追踪的删除状态 - 若删除操作已提交到暂存区,先执行
git restore --staged <被删除的文件夹名称>撤销暂存 - 执行
git restore <被删除的文件夹名称>,即可将文件夹恢复到最近一次本地提交的状态 - 如需恢复删除前未提交的修改,可执行
git reflog查询本地所有操作记录,找到删除操作前的对应提交哈希值,执行git checkout <提交哈希值> -- <被删除的文件夹名称>即可恢复到对应版本
场景二:项目内容从未提交过本地Git记录
Git未留存项目快照,需通过文件系统层面恢复:
- Windows系统:可通过系统自带的「文件历史」功能查找文件夹历史版本恢复,如之前开启过系统还原点,也可通过还原点回滚磁盘状态
- Mac系统:打开「时间机器」,定位到项目所在目录,选择删除操作前的时间点即可恢复
- 未开启系统备份的情况下,可使用本地数据恢复工具扫描项目所在磁盘分区,只要删除后未进行大量磁盘写入操作,大概率可以找回完整的项目文件
原GitHub无效文件夹问题解决方法
你最初遇到的带右箭头的无效文件夹是Git子模块标识,触发原因是内层项目文件夹中也存在.git隐藏目录,被外层仓库识别为子模块。后续重新推送前先删除内层项目文件夹的.git隐藏目录,再重新执行add、commit、push操作即可正常显示所有文件。
内容的提问来源于stack exchange,提问作者techieansh
相关产品推荐
相关产品推荐

