繁体   English   中英

结帐git远程分支窗口时为什么会出现“无法创建目录”?

[英]Why do I get “cannot create directory” when checkout a git remote branch windows?

我在Windows 10 64Bit上使用git版本2.10.2.windows.1。

在MACOS上,我们将两个分支合并到一个现有分支中。 合并后,分支包含一个末尾带有空格文件夹 (“ Jadise / ”)。 我基于Bitbucket上的前合并创建了一个新的分支。 现在,当我尝试在Windows下检出我的新分支时,我收到此错误:

fatal: cannot create directory at 'wp-content/plugins/orbitvu-sh/_orbitvu_presentations/Jadise /_orbitvu_resized_images'

这是我尝试结帐到新远程分支的方式

git fetch git checkout new-branch

看起来这个错误并不是指Windows中的最大路径长度。 当我将存储库也放入卷的根目录时,错误就像在“原始项目文件夹”中一样被抛出,我发现了这个问题。 我也不认为这个错误与访问问题有关,因为所有其他目录都已创建/更新而没有任何问题。

您可能会注意到这是一个wordpress插件,由第三方维护。 这就是为什么我不能简单地更改目录名称的原因,因为它可能会停止工作。 同时我需要它的内容才能有一个有效的构建。

我克隆了项目并切换到debian虚拟机中的分支,它没有任何问题。 看起来像debian(或非git Windows /不确定它是否是Windows问题或git问题)能够以某种方式处理此目录名称。 当我想cd到它为我“茉莉花\\ /”当我用Tab键自动。

这是一个Windows问题还是一个git问题,有没有办法解决Windows 10 64bit而不重命名第三方插件的文件夹?

目前,git for windows 不支持文件名中的尾随空格 ,并且有一个原因:Win32不处理这样的路径,尽管你可以使用"\\\\?\\..." UNC路径技巧突破到NTFS。 如果您碰巧有这样的路径,并且这不是一些错误,可能该项目不打算在Windows上使用。

据了解,您有以下选择:

  • 请项目作者重命名相关文件/目录或自己动手
  • 尝试使用cygwin / msys2构建中的git。 msys2包装器处理一些Windows路径问题,将它们转换为合法路径问题,但我不知道它是否处理此问题。
  • 修复git for windows - 使用UNC路径。 维护者说他会考虑采取这样的补丁。
  • 如果您真的不需要处理文件或目录,可以使用稀疏结帐将其从结帐中排除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM