git - 从区分大小写的文件系统克隆到不区分大小写的文件系统时丢失文件

git - 从区分大小写的文件系统克隆到不区分大小写的文件系统时丢失文件

我在 Mac 上尝试使用以下命令克隆 Linux 手册页:

git clone http://git.kernel.org/pub/scm/docs/man-pages/man-pages

克隆完成后收到以下警告消息:

warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:

  'man2/_Exit.2'
  'man2/_exit.2'
  'man3/NAN.3'
  'man3/nan.3'

我检查了我的man2目录,它只_exit.2存在,_Exit.2并没有在我的 Mac 上克隆。

我该如何解决这个问题并从远程 Linux 服务器获取完整的克隆?

提前致谢!

答案1

Mac OS 使用不区分大小写的文件系统,而大多数 Linux 发行版都区分大小写。据我所知,您无法将名称仅大小写不同的多个文件复制到 Mac 上并保留两个版本。

我相信您需要在源服务器上重命名源文件,这显然不是您的选择。如果您可以访问 Linux 机器或 Linux 服务器,则可以将存储库克隆到那里,然后使用rename(您可能需要安装,具体取决于 Linux 发行版)和正则表达式重命名它们。

这可能会带来更多的麻烦,具体取决于这些特定文件的内容。

答案2

使用 macOS 中的“磁盘工具”创建区分大小写的新磁盘映像,例如APFS (Case-sensitive)

然后使用终端将目录更改为该磁盘,然后运行:

git clone xxxxx

奇迹般有效!

相关内容