我在 Windows 10 64 位上使用 git 版本 2.10.2.windows.1。
在 MACOS 上,我们将两个分支合并到一个现有分支中。合并后分支包含一个folder with a 末尾有空白 ("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 问题,有没有办法在 Windows 10 64 位上解决此问题,而无需重命名第 3 方插件的文件夹?
目前,git for windows不支持文件名中的尾随空格 https://github.com/git-for-windows/git/issues/699,这是有原因的:Win32 不处理此类路径,尽管您可以使用"\\?\..."
UNC 路径技巧。如果你碰巧有这样的路径,而且这不是一些错误,那么该项目可能不适合在 Windows 上使用。
据了解,您有以下选择:
- 要求项目作者重命名有问题的文件/目录或自己做
- 尝试使用 cygwin/msys2 构建中的 git。 msys2 包装器处理一些 Windows 路径问题,将它们转换为合法的路径问题,尽管我不知道它是否可以处理这个问题。
- 修复 Windows 版 git - 使用 UNC 路径。维护者表示他会考虑采取这样的补丁。
- 如果您确实不需要处理该文件或目录,您可以使用以下命令将其从结账中排除结账稀疏 https://www.kernel.org/pub/software/scm/git/docs/git-read-tree.html#_sparse_checkout.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)