我在 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进入它时,当我使用选项卡自动完成时,它会显示“Jasmine\ /”。
这是 Windows 问题还是 git 问题,有没有办法在不重命名 3rd 方插件的文件夹的情况下为 Windows 10 64bit 解决它?
目前,适用于 windows 的 git不支持文件名中的尾随空格,这是有原因的:Win32 不处理此类路径,尽管您可以使用"\\?\..."UNC 路径技巧突破到 NTFS 。如果您碰巧有这样的路径,并且没有错误,那么该项目可能不打算在 Windows 上使用。
据了解,您有以下选择: