#前書き
error failed to push some refs to pre-receive hook declined
remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com
remote: warning: See http://git.io/iEPt8g for more information.
remote: warning: File ~~~~/~~~/.××× is 125MB; this is larger than GitHub's recommended maximum file size of 50.00MB
いつも通りGitHubにPushしたら、このエラーが出てきました。
#原因
GitHub公式
によると
"GitHub blocks pushes that exceed 100 MB."
GitHubに100MB以上のファイルをアップロードできないそうです。
それが原因なんじゃないかと思い、調べ進めました。
#対処法
そこでどうするかというと
○.gitignoreで対象ファイルを除外
○Repository Cleanerを活用する
○Git LFSを活用して100MB以上でもPushできるようにする
このどれかで解決できるそう。
私はGit LFSを活用しました。
##Homebrewのインストール
Git LFSをインストールするためにHomebrewを入れないといけないそうです。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
インストール完了
(補足:代わりにMacPortsを使うこともできるらしい。その場合はport install git-lfs
でインストール)
##Git LFSのインストール
1.公式からダウンロード
Git LFS
2.Homebrewを使ってインストール
$ brew install git-lfs
3.ダウンロードしたzipファイルを解凍
4.3で解凍したファイルに移動
$ cd ~/Downloads/git-lfs-1.X.X
5.3で解凍したファイルを適用させる
$ ./install.sh
> Git LFS initialized.
6.インストールが成功したことを確認
$ git lfs install
> Git LFS initialized.
##100MB以上のファイルとGit LFSを結びつける
1.ワーキングディレクトリに移動
$ cd {REPO}
2.直前のコミットを取り消す
$ git reset --soft HEAD^
3.容量を超えているファイルをGitLFSと結びつける
もし~~.psdというファイルなら下記のように打つ
$ git lfs track "*.psd"
> Adding path *.psd
4.登録したファイルを追加
$ git add .gitattributes
5.これ以降はいつもどおりに
add→commit→pushの流れ