對於我正在工作的 java 應用程序,我們在 git 儲存庫中儲存了一些 Ubuntu 字體。請記住,對於具有類似設定的其他電腦上的其他開發人員來說,這一切都按預期工作。
此問題僅在使用 WSL Git 時發生,而不會在使用 Git for Windows/Git Bash (gitforwindows.org) 時發生。
當這些字體檔案位於 git 儲存庫中時,Windows(特別是 System32/fontview.exe)以及我們的應用程式無法開啟/載入這些字體檔案。
請求的文件...不是有效的字型文件。
mv
將相同檔案複製到 Git 儲存庫以外的任何位置,Windows 都可以開啟該檔案。文件是相同的(使用檢查sha1sum < fontfile.ttf
)。
將該檔案複製到新初始化的 Git 儲存庫時也會引發相同的錯誤。
對於所有 ttf 檔案都是如此,即使它們是新從網路下載的。
即使在rm -rf .git
文件仍然無法打開/加載之後。該特定目錄名稱會以某種方式永久受到影響。
重新啟動後問題仍然存在。
答案1
我們被告知,雖然從 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