Git 由于文件路径错误,克隆无法正常工作

Git clone is not working due to bad file path

问题

Git 在 Windows 10 机器上克隆存储库会引发此错误:

error: invalid path 'saleor/graphql/core/tests/cassettes/test_get_oembed_data[http:/www.youtube.com/watch?v=dQw4w9WgXcQ-VIDEO].yaml'

fatal: unable to checkout working tree

warning: Clone succeeded, but checkout failed.

>git clone https://github.com/mirumee/saleor.git
Cloning into 'saleor'...
remote: Enumerating objects: 187180, done.
remote: Counting objects: 100% (289/289), done.
remote: Compressing objects: 100% (225/225), done.
remote: Total 187180 (delta 136), reused 131 (delta 64), pack-reused 186891
Receiving objects: 100% (187180/187180), 105.28 MiB | 234.00 KiB/s, done.
Resolving deltas: 100% (137187/137187), done.
error: invalid path 'saleor/graphql/core/tests/cassettes/test_get_oembed_data[http:/www.youtube.com/watch?v=dQw4w9WgXcQ-VIDEO].yaml'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

尝试过

我尝试了 this 方法,但在最后一步没有成功:

$ git init saleor
$ cd saleor
$ git remote add origin https://gitzzz.com/yyy/saleor.git -f

到目前为止一切顺利,但此命令抛出错误:

$ git checkout origin/master -f
error: invalid path 'saleor/graphql/core/tests/cassettes/test_get_oembed_data[http:/www.youtube.com/watch?v=dQw4w9WgXcQ-VIDEO].yaml'

尝试过

此外,this 方法没有帮助。

问题

如何在 Windows 上 clone/checkout 这个 repo?

解决方案

@bk2204 建议的选项解决了问题:

  1. 分叉存储库
  2. 在 Linux
  3. 上克隆分叉
  4. 更改 Linux
  5. 上的路径名
  6. 提交并推送
  7. 然后查看 Windows
  8. 上的固定分叉

这里的问题是路径同时包含冒号和问号,您可能在 Windows 系统上。 Windows 已慎重决定不允许在路径名中使用这些字符,因此无法在那里检查此文件。

您有一些选择:

  • 使用不同的操作系统,例如 macOS 或 Linux。
  • 使用 Linux 的 Windows 子系统检查文件,它不受这些限制。
  • 请负责版本库的一方更改路径名或在其他环境中自行更改,然后查看固定的版本库。
  • 请微软解决这个问题。
  • 不要使用此存储库。