Windows Git,当切换分支时,我得到错误:“quot;删除目录'&书信电报;dirname>';失败。我应该再试一次吗?”;在设置自定义文件夹图标后启动
我在windows上使用GitBash(v1.7.10MSYSGit)。前几天,我在我的repo中的一些子文件夹上设置了一些自定义文件夹图标,从那以后,我再也不能在分支之间切换,而不会出现如下错误:Windows Git,当切换分支时,我得到错误:“quot;删除目录'&书信电报;dirname>';失败。我应该再试一次吗?”;在设置自定义文件夹图标后启动,windows,git,msysgit,git-bash,Windows,Git,Msysgit,Git Bash,我在windows上使用GitBash(v1.7.10MSYSGit)。前几天,我在我的repo中的一些子文件夹上设置了一些自定义文件夹图标,从那以后,我再也不能在分支之间切换,而不会出现如下错误: blake@ComputerName /c/csharp (AD_NativeRefactor) $ git checkout master Deletion of directory 'AllertFullfillmentDB' failed. Should I try again? (y/n)
blake@ComputerName /c/csharp (AD_NativeRefactor)
$ git checkout master
Deletion of directory 'AllertFullfillmentDB' failed. Should I try again? (y/n) n
失败的目录并不总是相同的,但它始终是我设置自定义图标的3个子文件夹中的1个子文件夹
- 我已经删除了带有恢复默认值的自定义图标李>
- 我已经检查了文件权限(它与repo中的其他文件夹没有什么不同)
- 我尝试过使用Unlocker,但没有任何东西可以锁定目录
- 我尝试重新启动windows
我不确定下一步该怎么办。有什么想法吗?正如我在评论中提到的,在不同的位置克隆回购协议是“重置”的最简单方法,看看问题是否依然存在
显然,在repo上的某些文件夹上设置自定义图标会产生阻止分支之间签出的副作用,因为Windows会在需要删除的某些目录上保持句柄打开。我认为我的解决方案在不将repo移动到新目录的情况下起作用:
仅此而已,我的主机已恢复正常运行。如果您在其他位置再次克隆您的repo,问题是否会继续存在?我也遇到过此问题,我相信unlocker表明sh.exe持有该目录。我还没有确定的解决方案。我会注意到,它通常不会造成任何伤害(但一定要检查
git status
)@VonC-fresh clone没有问题。因此,这可能是最简单的解决方案。@VonC如果您想发布答案,我会将其标记为已接受并删除我的答案。@Christopher:您链接的函数不正确(您可以通过它打印不同的错误消息来判断)。OP正在从中获取消息。