使用Google repo管理的项目误删git子项目后如何恢复
误删repo管理的子项目B恢复方案
只要项目根目录下的.repo元数据目录没有被损坏,不需要重新拉取整个项目,按以下步骤操作即可完成恢复:
- 进入项目A的根目录(即存放
.repo文件夹的顶层工作目录),先执行repo list命令,确认子项目B在manifest清单中处于正常注册状态,可查询到B对应的工作路径、关联仓库版本信息。 - 确认清单信息正常后,直接执行定向同步命令恢复B目录:
repo sync B。该命令会自动读取.repo中存储的项目配置,按照manifest记录的分支、commit哈希值,将B仓库的完整内容(包含B自身的.git目录)还原到原有路径,整个过程不会改动C子项目的任何文件和本地修改。 - 如果执行同步时提示路径异常、找不到对应项目,可先执行
repo sync -d B命令,强制将B目录重置为manifest指定的官方版本,跳过本地异常缓存的干扰。
提示:如果删除B之前你在B目录有未提交的本地改动,这部分内容不会被恢复,repo只会还原manifest锁定的仓库版本状态。
内容的提问来源于stack exchange,提问作者Li Chen
相关产品推荐
相关产品推荐

