我有多个工作树位于网络驱动器上。这是一般文件系统结构:
- 回购
- 主要回购
- 工作树 1(网络驱动器)
- 工作树 2(网络驱动器)
- 工作树 X(网络驱动器)<--想修剪这个
- 工作树 3(网络驱动器)
在 3 个工作树不可用的短暂网络中断期间,我修剪了我的工作树,只是为了摆脱工作树 X。不幸的是,我所有的工作树都被修剪了,因为 git 找不到这些目录中的任何一个。
现在我可以再次访问我的文件,但是“main repo/.git/worktrees”中的所有 git 元数据都消失了。尝试重新创建修剪过的工作树并git worktree add <PATH> <BRANCH>
导致错误消息<PATH> already exists
。查看 git 通常存储的信息,我认为手动重新创建这些文件不是一个好主意。谷歌搜索这只给我的问题是人们仍然拥有他们的元数据但删除了源文件,这与我的问题相反。
有没有办法“恢复”修剪过的工作树?IE,重新创建丢失的元数据或允许 git 重新发现其他目录?如果可能的话,我对那些我想尝试恢复的其他目录进行了未暂存/未提交的更改。
编辑: 分阶段的更改保留在分支的源存储库中,因为工作区共享它们的分支。