[Git]ファイルサイズが 100MB 以上で Push できなくなった場合の対策 GitHub

git
GitHub にて、ファイルサイズが100MB 100MiB 以上で Pushできなくなった場合の対策
 
<この記事は、「原因は分かってるんだけど、どうやって直したらいいかわからない」という人のために書きました。>

 

エラーメッセージ
this exceeds GitHub’s file size limit of 100.00 MB

上のようなメッセージが表示されて困っている方も多いのではないでしょうか。
エラーメッセージを見つけられたらまだ良いほうで、何が起こったかわからないひとも多いのではと思います。
とりあえず、以下にメッセージ全文を記録しておきます。

 

エラーメッセージ全文

 

 

原因
Githubの仕様は、1ファイルのファイルサイズが最大100MiB(100MB)までとなっています。もしかしたらBitbucketなら起こらないかもしれません。

 

対策
A.大きいファイルは置かないようにする
 

 

ここではAの対策を紹介します。

 

原因は100MiB以上のファイルをアップロードしていることなので、それを削除すればいいのですが、
ファイルを削除後にコミットして、その状態をアップロードしようとしても同じエラーが出ます。
なぜなら、Pushコマンドを実行した時点で、100MiBファイルを登録した状態の古いコミットもプッシュしようとするからです。

対策
1.以下のコマンドで古いコミットまで戻る。revetではダメです。古いコミットが残ったままになります。

 

変更があった既存のファイルを消してしまっても良い場合
$ git reset –hard コミットID

 

変更があった既存のファイルを残したい場合
$ git reset –soft コミットID

 

2.100MiBのファイルを削除するわけにはいけないので、gitignoreファイルを作成する。

 

.gitignoreを 置く場所はリポジトリのルート。

 

もし100MiBファイルをステージングしてしまってる場合は、rmコマンドでアンステージングする。
$ git rm –cached FILENAME
$ git rm –cached DIRNAME/

 

※ –cached をつけると、実態は消えない。

 

3.git statusで除外されてるか確認

4.この状態でCommitコマンドを実行すれば100Mibファイルは除外されてコミットされる。

5.PushすればOK。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です