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...