git - 恢复修剪的工作树
问题描述
我有多个工作树位于网络驱动器上。这是一般文件系统结构:
- 回购
- 主要回购
- 工作树 1(网络驱动器)
- 工作树 2(网络驱动器)
- 工作树 X(网络驱动器)<--想修剪这个
- 工作树 3(网络驱动器)
在 3 个工作树不可用的短暂网络中断期间,我修剪了我的工作树,只是为了摆脱工作树 X。不幸的是,我所有的工作树都被修剪了,因为 git 找不到这些目录中的任何一个。
现在我可以再次访问我的文件,但是“main repo/.git/worktrees”中的所有 git 元数据都消失了。尝试重新创建修剪过的工作树并git worktree add <PATH> <BRANCH>
导致错误消息<PATH> already exists
。查看 git 通常存储的信息,我认为手动重新创建这些文件不是一个好主意。谷歌搜索这只给我的问题是人们仍然拥有他们的元数据但删除了源文件,这与我的问题相反。
有没有办法“恢复”修剪过的工作树?IE,重新创建丢失的元数据或允许 git 重新发现其他目录?如果可能的话,我对那些我想尝试恢复的其他目录进行了未暂存/未提交的更改。
编辑: 分阶段的更改保留在分支的源存储库中,因为工作区共享它们的分支。
解决方案
推荐阅读
- java - Collectors.groupingBy 和 mapping 构造一个映射
- dji-sdk - 将任务航点上传到 DJI 无人机 (A3) 时出现 DATA_NOT_ENOUGH 错误
- dart - 如何让我的视频播放器正常工作?
- java - 将 API 密钥添加到 keys.gradle 文件
- json - curl查询中多行'--data'的正确格式到graphql端点?
- javascript - Javascript使数组对键索引列表
- java - 为什么命令提示符的错误消息中显示注释?
- python-3.x - 列中值之间的百分比增长
- python - 根据键标识符从 CSV 文件向 DataFrame 添加值?
- php - PHP中的多线程?