1

我不小心删除了一个工作树,其中包含分阶段但未提交的更改!但git worktree list仍显示工作树(即尚未修剪)

说,

/home/me/worktreeexample            0d4f25f [fix/something]
/home/me/                           0fd8c7e [master]

但是因为我刚跑rm -rf worktreeexample/,所以那里什么都没有 $ ls worktreeexample/

4

1 回答 1

2

创建一个新文件以worktreeexample告知git查找位置。格式基于.git/worktrees.

因此,对于上面的示例,这将起作用:

echo "gitdir: /home/me/.git/worktrees/worktreeexample" > worktreeexample/.git

然后运行git statusworktreeexample/显示您所有已删除的文件,并希望您正在进行的工作也可以提交。跑

cd worktreeexample
git checkout -- .

这将只留下分阶段的变化。

请注意,如果您有未暂存的更改并且您破坏了工作目录,那么您就不走运了。

于 2017-03-15T23:50:14.603 回答