Git clone 顯示磁碟空間不足?只改一個檔案,卻要搬走約 9GB 的倉庫

找找異變
閱讀功能說明

收聽會朗讀正文;速讀會依序顯示短語,速度可調。語言練習可對照現有的不同語言版本。收藏儲存在本瀏覽器中,可從播放器的收藏清單再次開啟。用打磚塊來讀會把正文的文字變成磚塊,邊打邊讀。

分享這篇文章
廣告
廣告

簡介:遇到「Not enough disk space to clone the repository」該怎麼辦?從約 9GB 的實例,弄清楚空間不足的原因與較省空間的做法。

只是想改幾行字,工具卻表示無法複製儲存庫,因為磁碟空間不足。

這不代表程式碼壞掉。問題發生在接收副本的工作環境,也不等於 GitHub 上的檔案消失了。

有個案例中,GitHub API 回報的儲存庫大小約為 9GB。明明只需要一份文件,系統卻準備把整座倉庫搬來。叫一杯飲料,結果連飲料店的冰箱都送到了。

錯誤訊息能告訴我們多少?

它指出複製工作遇到容量不足,但無法單憑這句話得知剩餘空間、已下載的資料量,或是現有檔案與歷史紀錄哪一邊比較肥。

約 9GB 是 GitHub API 回報數值的概數,不是失敗環境中實際複製量的測量結果。下載資料、展開的檔案與暫存空間所占容量可能不同。

倉庫怎麼會長這麼大?

Git 除了目前的檔案,也保留版本歷史。以前提交的大圖、備份和自動產生的檔案,可能仍留在歷史資料中。若持續增加文章、多語譯文、圖片與輸出結果,目前的檔案也可能真的不少。

要分開檢查的是現有檔案與歷史資料。不做盤點,就無法確定哪個才是主因。

GitHub 官方提出包含 .git 目錄在磁碟上建議上限 10GB 的管理指引。這並非到達 10GB 就必然禁止複製的硬性開關,API 顯示值也未必等於本機 .git 的大小。

有需要才搬,不要整倉打包

若舊工作環境累積太多暫存檔,重新建立環境可能解決問題;但若儲存庫本身龐大,也可能再次遇到相同錯誤。

只要讀寫單一檔案,可以在權限允許時使用 GitHub 的檔案 API。需要使用 Git 時,可以嘗試:

git clone --depth=1 --filter=blob:none --sparse REPOSITORY_URL

它限制取得的歷史深度、延後下載檔案內容,也縮小一開始展開的範圍。不過它不是必勝指令,某些需要完整歷史的操作會受限制。

別急著把歷史清空

改寫或刪除歷史可能影響其他開發者、原有參照與自動化。先查看剩餘空間、目前的大檔案與歷史中的大物件;要進行破壞性清理前,務必備份並評估影響。

真正該修的是搬運方式

原本的需求是修改幾行文字,執行方式卻變成搬運 9GB 等級的倉庫。

只改一份檔案,為什麼每次都得搬整座倉庫? 有時候最該升級的不是硬碟,而是工作流程。

參考:GitHub 儲存庫建議、大型檔案指引、Git clone 說明。

再深入一步: 只會 Excel 就踏入 Web 開發:術語多到讓人傻眼

如果這篇文章對你有幫助,可以支持本站。 支持本站

廣告
廣告
廣告

再來一篇?有沒有好玩的?

讀完順便看看:幾篇相近的,還有幾篇完全不同但很有意思的。

  1. 「2.13秒西洋棋」迷因是什麼?中村光的表情與卡爾森真正的勝負
  2. Ado的「Yohohoho」怎麼又紅了?《賓克斯的美酒》變成烏塔模仿與口風琴迷因
  3. 為什麼艾爾・洛克叫珍娜「Big Red」,女主持人會立刻制止?
  4. 如果一直被動,成年後的朋友很難自然增加「自動社交供給」結束後的人際關係

今天讀這篇

每一篇都回答讀完本文後常有的下一個問題。

瀏覽全部文章

尋找其他文章

所有文章

Mendoi-chan

本站經營者

Mendoi-chan

把工作與日常生活中的麻煩整理成清楚的結構與下一步行動。