我意外地删除了一个工作树,有了分阶段但未提交的更改!
但是git worktree list
仍然显示了工作树(即它没有被修剪过)
说,
/home/me/worktreeexample 0d4f25f [fix/something]
/home/me/ 0fd8c7e [master]
但是因为我刚刚跑rm -rf worktreeexample/
,所以没有任何东西
$ ls worktreeexample /
答案 0 :(得分:1)
在worktreeexample
中创建一个新文件,告诉git
要查找的位置。格式基于.git/worktrees
的内容。
因此,对于上面的示例,这将起作用:
echo "gitdir: /home/me/.git/worktrees/worktreeexample" > worktreeexample/.git
然后在git status
中运行worktreeexample/
将显示所有已删除的文件,并希望您的工作正在进行中。运行
cd worktreeexample
git checkout -- .
只会留下分阶段的变化。
注意如果您有非分页更改并且您销毁了工作目录,那么您就不走运了。