我想在 Linux/Mac/Windows 之间同步相同的存储库,所以我需要 Git 内部(基本上是 .git 内部的内容)不区分大小写兼容(所以我不希望在那里只存在大小写不同的重复文件)。
我的主要工作机器在 Linux 上,我想将这些 Git 存储库同步到 Mac/Windows。
我注意到 Linux 上的目录 .git/logs/refs/remotes/origin/ 有时包含与原始名称相同的分支名称(如 TICKET-123-fix-this-thing)但也小写(ticket-123 -修复这个东西)。
有没有办法避免这种行为(可能还有其他我尚未注意到的行为),以便我可以在 Mac 和 Windows 上使用相同的存储库?所以基本上,我需要做的是使 .git 目录在 Linux/Mac/Windows 之间完全兼容(关于大小写)。
谢谢!
答案 0 :(得分:3)
你不能这样做。 core.ignorecase
设置通知 Git 您的系统如何工作。它不会改变您系统的工作方式。覆盖设置只是错误通知 Git,它随后会出现错误行为(以可预测的方式,偶尔有用,但在这里不会帮助你)。
在 macOS 系统上,您可以做的是让自己成为一个区分大小写的文件系统。在这里,您的 Git 的行为方式与在标准 Linux 文件系统上的行为方式相同。见my answer here。
您可以在 Linux 系统上使自己成为区分大小写的文件系统;见this ServerFault question。