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
Elasticsearch
Apollo
产品
Think
生活技巧
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP
AI