git invalid pathb

问题描述

情形一:git clone 后仅拉取 .git 文件夹

执行 git clone 命令后,目标文件夹中只有 .git 文件夹,其他文件未被拉取。
使用 git status -s 命令查看,所有文件均显示为已删除状态。

情形二:切换分支时报错

在执行 git checkout 切换分支时,出现如下错误,导致分支切换失败:

问题原因

上述问题通常是由于代码中包含 NTFS 文件系统不支持的文件名(如含有特殊字符或保留名称)。这些文件可能是在 macOS 或 Linux 系统下创建的,而 Windows 的 NTFS 文件系统对文件命名有更严格的限制。
Git 在 Windows 下默认启用了 NTFS 保护机制(core.protectNTFS 设置为 true),这会阻止包含不兼容文件名的文件被检出。

解决方法

可以通过关闭 Git 的 NTFS 保护机制来解决此问题。执行以下命令:
该配置的含义如下:
如果设置为 true,则不允许检出可能与 NTFS 文件系统冲突的路径,例如与 8.3 “短”名称冲突的路径。默认情况下,在 Windows 上为 true,在其他系统上为 false。
关闭此保护后,再次执行 git checkout 命令。虽然仍会出现类似以下的错误提示,但其他文件将被成功拉取:
拉取完成后,使用 git status -s 命令查看,这些不兼容的文件将显示为已删除状态。
通过上述方法,即使存在 NTFS 不支持的文件名,也能顺利拉取和处理其他文件。
Loading...
文章列表
王小扬博客
Git
AI
产品
film
AI Code
Java
其他
计算机网络
DB
云原生
Node
Docker
操作系统
Elasticsearch
Apollo
Nestjs
Think
大前端
PHP
软件开发
设计
生活技巧
CI
缓存