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 建议的选项解决了问题:
- 分叉存储库
- 在 Linux
上克隆分叉
- 更改 Linux
上的路径名
- 提交并推送
- 然后查看 Windows
上的固定分叉
这里的问题是路径同时包含冒号和问号,您可能在 Windows 系统上。 Windows 已慎重决定不允许在路径名中使用这些字符,因此无法在那里检查此文件。
您有一些选择:
- 使用不同的操作系统,例如 macOS 或 Linux。
- 使用 Linux 的 Windows 子系统检查文件,它不受这些限制。
- 请负责版本库的一方更改路径名或在其他环境中自行更改,然后查看固定的版本库。
- 请微软解决这个问题。
- 不要使用此存储库。
问题
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 建议的选项解决了问题:
- 分叉存储库
- 在 Linux 上克隆分叉
- 更改 Linux 上的路径名
- 提交并推送
- 然后查看 Windows 上的固定分叉
这里的问题是路径同时包含冒号和问号,您可能在 Windows 系统上。 Windows 已慎重决定不允许在路径名中使用这些字符,因此无法在那里检查此文件。
您有一些选择:
- 使用不同的操作系统,例如 macOS 或 Linux。
- 使用 Linux 的 Windows 子系统检查文件,它不受这些限制。
- 请负责版本库的一方更改路径名或在其他环境中自行更改,然后查看固定的版本库。
- 请微软解决这个问题。
- 不要使用此存储库。