在 Windows 10 中克隆大型專案時收到以下錯誤/警告。
....
error: unable to create symlink Codes/MyProject/Pods/Headers/Public/nanopb/pb_common.h: No such file or directory
error: unable to create symlink Codes/MyProject/Pods/Headers/Public/nanopb/pb_decode.h: No such file or directory
error: unable to create symlink Codes/MyProject/Pods/Headers/Public/nanopb/pb_encode.h: No such file or directory
Updating files: 100% (9536/9536), done.
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'
為什么會出現警告以及如何解決這個問題?
但是,我嘗試根據 gits 建議從下載的 repo 根目錄運行以下命令,
git restore --source=HEAD :/
但我又得到了類似的錯誤,
....
error: unable to create symlink Codes/MyProject/Pods/Headers/Public/nanopb/pb_common.h: No such file or directory
error: unable to create symlink Codes/MyProject/Pods/Headers/Public/nanopb/pb_decode.h: No such file or directory
error: unable to create symlink Codes/MyProject/Pods/Headers/Public/nanopb/pb_encode.h: No such file or directory
uj5u.com熱心網友回復:
默認情況下,Windows 需要特殊權限才能創建符號鏈接。這是因為當 Windows 添加符號鏈接時,Microsoft 擔心現有程式會因 Unix 上眾所周知的符號鏈接而獲得漏洞,并且不希望這種情況自動發生。回想起來,這使得符號鏈接在 Windows 上極為罕見。
但是,如果您使用的是 Windows 10 或更高版本,則可以啟用開發人員模式,該模式允許非特權用戶創建符號鏈接。我強烈推薦這個,因為符號鏈接非常有用,但有些人不能這樣做,因為他們的系統管理員不允許這樣做。如果這在您的情況下是可能的,它將解決問題。
您可以通過設定core.symlinks為 false來禁用符號鏈接。通常,當在不正確支持符號鏈接的檔案系統上克隆存盤庫時,Git 會自動執行此操作,因此您通常不需要這樣做。請注意,在許多情況下,在這種情況下專案將被破壞,因為符號鏈接通常存在,因為它們是作業所需的。
這里的另一種可能性是您的專案有兩個檔案或目錄,它們僅在大小寫上有所不同,并且默認情況下 Windows 不區分大小寫。結果,在一種情況下應該是符號鏈接的東西在另一種情況下類似于檔案或目錄,并且由于您的系統一次只能處理一種情況,因此您無法一次檢查兩者。這只是 Windows 默認作業方式的一個不幸后果,您需要使用區分大小寫的環境,如 Linux 或 WSL。
uj5u.com熱心網友回復:
使用來自 Git bash 的以下命令解決了該問題,
git config --global core.symlinks false
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/401331.html
