对于我正在工作的 java 应用程序,我们将一些 Ubuntu 字体存储在我们的 git 存储库中。请记住,对于具有类似设置的其他机器上的其他开发人员来说,这一切都按预期工作。
此问题仅在使用 WSL Git 而不是 Git for Windows/Git Bash (gitforwindows.org) 时出现。
Windows(特别是 System32/fontview.exe)和我们的应用程序无法在 git 存储库中打开/加载这些字体文件。
请求的文件 ... 不是有效的字体文件。
mv
将同一个文件移动到 Git 存储库之外的任何位置,Windows 就能够打开该文件。该文件是相同的(使用检查sha1sum < fontfile.ttf
)。
将该文件复制到新初始化的 Git 存储库时也会抛出相同的错误。
这适用于所有 ttf 文件,即使它们是新从网络下载的。
即使rm -rf .git
文件仍然无法打开/加载。该特定目录名称会以某种方式永久受到影响。
重启后问题依旧。
我们被告知,虽然从 WSL 访问 Windows 文件是可以的(通过 /mnt/c 、 /mnt/d 等),但由于 Linux 文件系统的模拟方式(?)视窗。
因此,在尝试使用基于 Windows 的工具访问它们之前,您应该将文件复制到适当的 Windows 环境中的某个位置(例如 /mnt/c/Users/joebloggs/workspace ....)。
然而,事情可能会发生变化,这个新功能将允许您像访问网络驱动器一样访问 Linux 文件系统:
https://betanews.com/2019/02/16/access-linux-files-from-windows/
如果你只想在 Windows 中运行 git,请使用没有 WSL 的“Git for Windows”!例如https://git-scm.com/download/win