GitHubに重いファイルをPushするとエラー!【解決策はGitLFS】
GitHubにPushすると重いファイルがあるとエラーが吐かれる問題を解決しましたので、健忘録としてブログに残しておきます。
Next.jsを学ぶためにyarnを使ってインストールしましたが、その中に100MBを超えるファイルがありPushできませんでした。
ローカルで削除しても、コマンドプロンプトで削除しても何度トライしてもエラーに
githubにpushしたいが、容量オーバーエラーが
ファイルを削除しても延々とエラーが続く
なぜ(?_?)— もりだい@エンジニア挑戦中 (@moridai1104) April 6, 2024
githubにpushできず躓き
githubはリモートでどこからでもアクセスできるのね。複数で更新履歴を見れらり、コンフリクトしたらマージする前に確認できる。Reactのファイルをpushしたいけど、重くてエラー吐かれる🤖ひとまず、全部削除して1から#駆け出しエンジニアと繋がりたい— もりだい@エンジニア挑戦中 (@moridai1104) April 7, 2024
githubにnext.jsの重いファイルをpushできずエラーが履かれる😭git LFSをインストールしたが、容量オーバー???まだエラーが履かれる😂いつになったらgithubにpush出来るんだ、、、躓き🦶#駆け出しエンジニアと繋がりたい
— もりだい@エンジニア挑戦中 (@moridai1104) April 9, 2024
Next.jsをインストールしてgithubにpushしたいが、重いファイルがあるようでできない。Git LFSのインストールしてpushしてもエラーが吐かれる。ローカルでファイルを削除してもダメ。かれこれ3日間躓いている。誰か教えて!!!!#駆け出しエンジニアと繋がりたい #駆け出しエンジニア pic.twitter.com/S23iE40dBe
— もりだい@エンジニア挑戦中 (@moridai1104) April 10, 2024
約5日間試行錯誤して、なんとかPushできましたので、参考になれば幸いです。
GitHubに重いファイルをPushするとエラー!【解決策はGitLFS】
GitHubに重いファイルをPushするとエラー
GitHubにPushすると↓のようにエラーが吐かれます。
C:\Users\yuduk\react-manabi>git push origin main
Uploading LFS objects: 100% (1/1), 123 MB | 5.5 MB/s, done.
Enumerating objects: 551, done. Counting objects: 100% (551/551), done.
Delta compression using up to 12 threads
Compressing objects: 100% (535/535), done.
Writing objects: 100% (551/551), 105.26 MiB | 2.84 MiB/s, done.
Total 551 (delta 6), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (6/6), done.
remote: error: Trace:
5b82840db93633468a349cfc98f52efbf874e903f8b53b73647859f0ba171928
remote: error: See https://gh.io/lfs for more information.
remote: error: File .yarn/unplugged/@next-swc-win32-x64-msvc-npm-14.1.4-8a05d41299/node_modules/@next/swc-win32-x64-msvc/next-swc.win32-x64-msvc.node is 117.67 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.
To https://github.com/moridai1104/react-manabi.git ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://github.com/moridai1104/react-manabi.git'
どうやら
remote: error: File .yarn/unplugged/@next-swc-win32-x64-msvc-npm-14.1.4-8a05d41299/node_modules/@next/swc-win32-x64-msvc/next-swc.win32-x64-msvc.node is 117.67 MB; this exceeds GitHub's file size limit of 100.00 MB
が容量オーバーのようでPushできないようですね。GitHubにPushできるのは100MBまでのようでした。
大きなファイルを管理するにはGit Large File Storage (LFS) です。大きなファイルを効率的に管理するためのGitの拡張機能になっています。
GitLFSを導入
Git LFSをインストールします。
リポジトリでGit LFSを初期化します。
git lfs install
大きなファイルをGit LFSで追加します。
git lfs track "<ファイルのパス>"
↑↑↑私の場合は「next-swc.win32-x64-msvc.node
」なのでgit lfs track "*.node"
にしています。
変更をステージングし、コミットします。
git add .
git commit -m "Add large file using Git LFS"
リポジトリにプッシュします。
git push origin main
でも、まだエラーが吐かれること多いと思います。
C:\Users\yuduk\react-manabi>git push origin main
Uploading LFS objects: 0% (0/1), 0 B | 0 B/s, done.
batch response: This repository is over its data quota.
Account responsible for LFS bandwidth should purchase more data packs to restore access.
error: failed to push some refs to 'https://github.com/moridai1104/react-manabi.git'
LFS化に失敗しているファイルが確認していきます。
git lfs migrate info
ざらざらと長く表示されると思います。
次に過去のコミットもLFSとして書き換えてくれます。
git lfs migrate import
これで再度Pushするとできるはずです!
遂にPushできた!!!!!
5日間ほどかかりやっとGitHubにPushできた。自力でググりながら解決すると気持ちいいね👍#駆け出しエンジニアと繋がりたい pic.twitter.com/ueh9KVG1pD— もりだい@エンジニア挑戦中 (@moridai1104) April 11, 2024