GitHubのクローンで「容量不足」? 約9GBのリポジトリを丸ごと運ぼうとして詰んだ話

「Not enough disk space to clone the repository」は何を意味するのか。約9GBの事例から、容量の確認方法、軽い取得方法、やってはいけない対処を整理する。

異変を探す
読書機能の使い方

聴く:本文を読み上げます。速読:語句を順に表示し、速さを調整できます。語学練習:別の言語版と対訳を読み比べます。保存:このブラウザーにブックマークし、プレイヤーの保存済み一覧から開けます。ブロック崩しで読む:記事の文字そのものを的にして、ブロック崩しで遊べます。

この記事をシェア

説明:「Not enough disk space to clone the repository」は何を意味するのか。約9GBの事例から、容量の確認方法、軽い取得方法、やってはいけない対処を整理する。

「リポジトリをコピーするための空き容量が足りません」。

このエラーを見た瞬間、最初に思うのは「え、コード壊れた?」だろう。でも違う。これはソースコードの実行エラーではなく、作業場所にコピーするための容量が足りないという通知だ。

そして調べたら、あるリポジトリについてGitHubが報告する大きさが約9GBだった。

9GB。記事の原稿をちょっと取りたいだけなのに、引っ越し業者を呼ぶ量。「ファイルを1つ編集したい」という依頼に対して、なぜか倉庫ごとトラックに積み込もうとしている。

エラーが教えていること、教えていないこと

典型的な表示は「Not enough disk space to clone the repository」。つまり、GitHub上のデータを作業環境に複製する段階で、利用可能なディスク容量が不足したという意味だ。

これだけで「GitHub上のファイルが消えた」「リポジトリが壊れた」とは言えない。反対に、エラー文だけでは実際の空き容量、ダウンロード量、履歴と現行ファイルのどちらが重いかも分からない。

約9GBという数字は、あるリポジトリに対してGitHubのAPIが返したサイズ情報を丸めたもの。手元のクローンが必ず9GBになるという実測ではない。展開したファイルや作業用の一時領域で、必要な容量は変わる。

なぜそんなに大きくなる?

Gitは現在のファイルだけでなく、変更の履歴も管理する。以前入れた大きな画像、生成ファイル、バックアップなどが履歴に残っていれば、今のフォルダーが小さく見えても取得が重くなる場合がある。

さらに記事、翻訳、画像、出力ファイルを次々に追加する運用なら、現行ファイルの総量自体も増える。原因は現行ファイルかもしれないし、過去の履歴かもしれない。どちらが主犯かはファイル容量と履歴を調べて判定する。

GitHub公式は、管理しやすいリポジトリを小さく保つことを推奨し、ディスク上の大きさに10GBという推奨上限を示している。ただし、これは「10GBに達した瞬間にクローンが禁止される」という一律の判定ではない。また、GitHub APIのサイズ表示と、ローカルの.gitフォルダーの計測値はそのまま同一視できない。

直すなら、倉庫を全部運ばない

まずは新しい作業環境で一度やり直す。以前の作業で一時ファイルがたまっていた場合に有効だ。ただし、元のリポジトリそのものが大きいなら、再発し得る。

ファイルを1つ読む・書くのが目的なら、GitHubのAPIで対象ファイルだけを扱う方法が速い。記事の更新に、毎回プロジェクト全体のクローンは要らない。

Gitが必要なら、履歴を浅くし、本文データを必要になるまで取得せず、展開するファイルも絞る方法がある。

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

これは取得量を減らすための組み合わせで、どんな環境でも成功する魔法ではない。取得後に必要なフォルダーだけ指定する運用が向いている。履歴全体を使う分析や特定のGit操作には制約も出る。

絶対に勢いでやらないこと

「容量が重いなら過去の履歴を全部消せばいいじゃん」と飛びつくのは危険。履歴の書き換えは共同作業、古いリンク、自動処理に影響する場合がある。原因を調べて、退避と影響範囲を確認してから行う作業だ。

確認する順番は、作業環境の空き容量、現在のファイル群の大きさ、Gitの履歴や大きなファイル、そして本当に全体を取得する必要があるか、の順が分かりやすい。

結局、壊れていたのはコードではなく前提だった

欲しかったのは数行の修正。始まろうとしていたのは9GB級の引っ越し。

このエラーは「もっと容量を増やせ」というだけの話ではない。必要なファイルだけ触れる仕事に、なぜ毎回リポジトリ全部を運ぶのか?と問い直すきっかけでもある。

記事1本を追加するたびに倉庫を丸ごと輸送するなら、先に見直すべきなのはトラックの大きさより運び方だ。

参考: GitHubのリポジトリ推奨値 ・ 大きなファイルの扱い ・ Git clone公式文書

もう一歩くわしく: SurfaceでTeamsと新しいOutlookが起動しない?Windows 11更新後の修正版と安全な対処

PRこのテーマの本を探す

この記事には広告(アフィリエイトリンク)が含まれます。 広告について Amazonのアソシエイトとして、mendoi-appsは適格販売により収入を得ています。

この記事が役に立ったら、応援できます。 応援する

もう1個、なんか面白いのない?

読み終わったついでに。近い話と、ぜんぜん違うけど面白い話を少しずつ。

  1. 共感できるはずのアニメに、なぜ入り込めない?「分かる」と「刺さる」の違い
  2. 『鬼の花嫁』感想溺愛が重く見えるのはなぜ?約10分で考えた救済と恋愛の境界
  3. 『シャドバWB』盤面を全部取ったのになぜ負ける?勝ち筋を消す「満点ターン」
  4. 『ラヴ上等2』は恋愛番組というより人間行動デスゲームだった――チワワたいちゃんの誤学習、顔面市場、14日恋愛の耐久試験

今日これ読んで

この記事を読んだ人の次の疑問に、それぞれ答える記事です。

すべての記事から探す「テクノロジー」の記事をもっと見る

他の記事を探す

すべての記事

めんどいちゃん

このサイトの運営者

めんどいちゃん

仕事や日常の「めんどい」を構造化して、次に動きやすくする記事を書いています。