git clone https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy
error: invalid path 'drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c'
一、原因
aux.c 文件导致 error的原因与文件名有关。
在Windows中,aux 是一个保留名称,不能用作文件名。
aux 是 DOS 时代的一个设备文件名,代表辅助设备(通常是串行端口)。
- 保留设备名称
在 Windows 文件系统中,以下名称是保留的设备名称,不能用作文件或目录名:
CON
PRN
AUX
NUL
COM1, COM2, ..., COM9
LPT1, LPT2, ..., LPT9
因此,当 Git 尝试在 Windows 上创建或访问名为 aux.c 的文件时,会导致路径无效的错误。
- 文件系统限制
即使在现代的 Windows 文件系统(如 NTFS)上,这些保留名称仍然不能用作文件名。
这是为了向后兼容旧的 DOS 程序和设备驱动。
二、解决方法
- 在非 Windows 系统上操作
Linux 或 macOS 系统没有上述的文件名限制。
-
使用 WSL(Windows Subsystem for Linux)
-
如果必须在 Windows 上操作
git config --global core.protectNTFS false
git reset --hard HEAD