我試圖將我的統一存盤庫推送到我的 github,但由于檔案太大,我想使用 LFS。安裝 LFS,git lfs install在終端中運行,添加、提交和推送,我收到以下錯誤:
remote: Resolving deltas: 100% (18056/18056), done.
remote: warning: File Library/PackageCache/[email protected]/.Runtime/hostlin/lld is 57.95 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: File Library/PackageCache/[email protected]/.Runtime/hostmac/dsymutil is 64.13 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: File Library/PackageCache/[email protected]/.Runtime/libburst-llvm-11.dylib is 87.83 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: error: Trace: f9eeba7df30d8a51c6584e8ac73a6622802080d5c56fc4191126526d0b7a055c
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File Library/PackageCache/[email protected]/.Runtime/hostmac/lld is 106.20 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File Assets/Firebase/Plugins/x86_64/FirebaseCppApp-8_0_0.so is 118.99 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
在我的根目錄中,我有一個經典的 .gitignore:
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/
# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/
# Asset meta data should only be ignored when the corresponding asset is also ignored
!/[Aa]ssets/**/*.meta
# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*
# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*
# Visual Studio cache directory
.vs/
# Gradle cache directory
.gradle/
# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db
# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta
# Unity3D generated file on crash reports
sysinfo.txt
# Builds
*.apk
*.aab
*.unitypackage
# Crashlytics generated file
crashlytics-build.properties
# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
和經典的 .gitattributes
# Image formats:
*.tga filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.tif filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
# Audio formats:
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.aiff filter=lfs diff=lfs merge=lfs -text
# 3D model formats:
*.fbx filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
# Unity formats:
*.sbsar filter=lfs diff=lfs merge=lfs -text
*.unity filter=lfs diff=lfs merge=lfs -text
# Other binary formats
*.dll filter=lfs diff=lfs merge=lfs -text
我錯過了初始化 LFS 的東西嗎?似乎它試圖在不使用 LFS 的情況下推送 repo .. 謝謝!
uj5u.com熱心網友回復:
安裝 LFS 只會影響新的提交。您必須重寫 repo 才能將舊檔案也移動到 LFS:
- https://edwardthomson.com/blog/advent_day_23_removing_large_binaries_with_lfs.html
git clone --mirror出于以下幾個原因,做新鮮事是最安全的:
您可以進行鏡像克隆,這會將遠程克隆到本地的裸存盤庫中,這樣您就不會不必要地檢出所有大檔案。它還會獲取所有遠程分支和標簽,并設定遠程跟蹤分支,以便您可以安全地執行強制推送。
git clone --mirror [email protected]:ethomson/repo.git
git lfs migrate import --everything
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push --mirror --force
警告這將改變您的歷史。在繼續作業之前,請確保所有未完成的作業都已同步,并且您的存盤庫中的所有開發人員都同步了他們的存盤庫。
讓您的用戶重新克隆他們的存盤庫。我通常不愿意鼓勵人們這樣做——當他們的作業出現問題時,很多人都會遵循洗掉和重新克隆策略,這是一種非常反模式。Git 中真的沒有任何問題是毛茸茸的,以至于您需要擺脫存盤庫并重新開始;在不這樣做的情況下解決這些問題將真正提升您的 Git 知識。
這是個例外——我們已經重寫了每個分支,并且沒有簡單的更新方法。相反,克隆存盤庫的新副本是正確的方法。(獎勵:現在克隆存盤庫要快得多,因為您沒有所有那些凌亂的二進制檔案。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/371042.html
上一篇:在火花資料框中用N/A替換空值
