[Git] git push したら error: pack-objects died of signal 13

git push でエラーが発生し、bitbucket へ push ができなくなりました。

状況

% git push -u origin dev
Counting objects: 141, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (139/139), done.
Write failed: Broken pipe/141)
fatal: The remote end hung up unexpectedly
error: pack-objects died of signal 13
error: failed to push some refs to 'git@bitbucket.org:****/****.git'

対応

下記は GitHub ですが、どうもエラーの内容は file size が大きすぎると言うことらしいです。
試しに psd ファイルを登録したことが原因かもしれない。

.gitignore に *.psd を入れているディレクトリを追加します。
これで今後はインデックスに登録されなくなります。

.gitignore
docs/psd/
*.psd

さらに今までに登録されていた情報を削除します。

% git rm -r --cached docs/psd/

.gitignore の変更をコミットしました。

% git add .
% git commit -m 'add: .gitignore *.psd'

さらに必要か分かりませんが、git gc しておきました。

% git gc
Counting objects: 1394, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1351/1351), done.
Writing objects: 100% (1394/1394), done.
Total 1394 (delta 843), reused 0 (delta 0)
Removing duplicate objects: 100% (256/256), done.

git push して無事完了。

% git push -u origin --all

binary ファイルの登録には気をつけた方が良いのかもしれません。

補遺

Bitbucket には、limit がないらしいのですが。。。

ありました。

後日、以下の対応も必要になりました。