所以我在 Unity 中做一個專案,我很好奇為什么我的專案大小如此之大(200Gb),然后我意識到有一個隱藏的 .git 檔案夾,大小為 80Gb。有人告訴我壓縮我的資料庫,這將釋放空間,所以我去 Git GUI 并按下壓縮,它消耗了我磁盤中的所有可用空間,命令甚至沒有完成。
我現在可以用 300mb 的可用空間來清除 .git 檔案夾做什么?
uj5u.com熱心網友回復:
即使大檔案不在最新的分支上,Git 歷史記錄也會占用大量空間。
您可以洗掉 repo 的所有 Git 歷史記錄,并將當前狀態變為初始狀態:
來自:https ://stackoverflow.com/a/26000395
- 查看
git checkout --orphan latest_branch
- 添加所有檔案
git add -A
- 提交更改
git commit -am "commit message"
- 洗掉分支
git branch -D main
- 將當前分支重命名為 main
git branch -m main
- 最后,強制更新您的存盤庫
git push -f origin main
.git這將釋放檔案夾中的大量空間。
另請參閱:使當前提交成為 Git 存盤庫中的唯一(初始)提交?
(這與我在https://stackoverflow.com/a/70742570/7058266中發布的解決方案基本相同)
uj5u.com熱心網友回復:
然后我意識到有一個隱藏的 .git 檔案夾,大小為 80Gb
如果您的.git檔案夾那么大并且您正在進行 Unity 開發,我真的希望您使用git-lfs。
否則你犯了一個大錯誤,你將不得不修復它(如果你不再有可用空間,那就更復雜了,所以我不會在這里回答)
如果您使用 git-lfs,您可以使用以下命令清理不再使用的物件: git lfs prune
只有在那之后,如果它有一些空閑空間,那么你可以做一個git gc
所以我去了 Git GUI 并按下壓縮,它消耗了我磁盤中的所有可用空間,命令甚至沒有完成。
如果它的行為是這樣并且無法壓縮 git 物件,那可能意味著您沒有啟用 git-lfs,因此 git 難以壓縮您的大型二進制檔案資產,因此您必須啟用它并將整個 git 歷史記錄轉換為用它。但在確保您使用的 git 托管支持它之前...
對于您的遷移,這樣的事情可能會有所幫助:
- https://docs.gitlab.com/ee/topics/git/lfs/migrate_to_git_lfs.html
- https://notiz.dev/blog/migrate-git-repo-to-git-lfs
而且我不確定當您的磁盤已滿時是否可以完成。因此,也許您將不得不騰出可用空間或將您的存盤庫復制到其他地方并從那里開始作業(在開始執行這些操作之前將副本作為備份仍然是一個好主意)。
如果需要,請購買外部硬碟驅動器...
與 Git 統一:https ://thoughtbot.com/blog/how-to-git-with-unity
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/414515.html
標籤:
上一篇:鑰匙串用戶名無法更改
