

githubにpushするにあたり

[code]

    git push
    
[/code]

をしたとき,

[code]

    Delta compression using up to 6 threads.
    Compressing objects: 100% (437/437), done.
    Writing objects: 100% (445/445), 221.08 MiB | 7.39 MiB/s, done.
    Total 445 (delta 3), reused 0 (delta 0)
    remote: Resolving deltas: 100% (3/3), done.
    remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
    remote: error: Trace: 46e6e6146393dfce0c018b2491623426
    remote: error: See http://git.io/iEPt8g for more information.
    remote: error: File SRCNN-pytorch/BLAH_BLAH/91-image_x3.h5 is 181.82 MB; this exceeds GitHub's file size limit of 100.00 MB
    remote: error: File SRCNN-pytorch/BLAH_BLAH/91-image_x4.h5 is 180.89 MB; this exceeds GitHub's file size limit of 100.00 MB
    To https://github.com/Hika-Kondo/Super_Resolution.git
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'https://github.com/***/Super_Resolution.git'
    
[/code]

とエラーが出たため,

[code]

    git rm --cache /SRCNN-pytorch/BLAH_BLAH
    
[/code]

をし,

[code]

    git ls-files
    
[/code]

でgit管理下ファイルを確認したところ

[code]

    SRCNN-pytorch/.gitignore
    SRCNN-pytorch/README.md
    SRCNN-pytorch/data/butterfly_GT.bmp
    SRCNN-pytorch/data/butterfly_GT_bicubic_x3.bmp
    SRCNN-pytorch/data/butterfly_GT_srcnn_x3.bmp
    SRCNN-pytorch/data/ppt3.bmp
    SRCNN-pytorch/data/ppt3_bicubic_x3.bmp
    SRCNN-pytorch/data/ppt3_srcnn_x3.bmp
    SRCNN-pytorch/data/zebra.bmp
    SRCNN-pytorch/data/zebra_bicubic_x3.bmp
    SRCNN-pytorch/data/zebra_srcnn_x3.bmp
    SRCNN-pytorch/datasets.py
    SRCNN-pytorch/models.py
    SRCNN-pytorch/prepare.py
    SRCNN-pytorch/test.py
    SRCNN-pytorch/thumbnails/fig1.png
    SRCNN-pytorch/train.py
    SRCNN-pytorch/utils.py
    
[/code]

となりエラーの出たファイルが管理下から外れていることを確認し  
再度

[code]

    git push
    
[/code]

しましたが

[code]

    Delta compression using up to 6 threads.
    Compressing objects: 100% (437/437), done.
    Writing objects: 100% (445/445), 221.08 MiB | 7.39 MiB/s, done.
    Total 445 (delta 3), reused 0 (delta 0)
    remote: Resolving deltas: 100% (3/3), done.
    remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
    remote: error: Trace: 46e6e6146393dfce0c018b2491623426
    remote: error: See http://git.io/iEPt8g for more information.
    remote: error: File SRCNN-pytorch/BLAH_BLAH/91-image_x3.h5 is 181.82 MB; this exceeds GitHub's file size limit of 100.00 MB
    remote: error: File SRCNN-pytorch/BLAH_BLAH/91-image_x4.h5 is 180.89 MB; this exceeds GitHub's file size limit of 100.00 MB
    To https://github.com/Hika-Kondo/Super_Resolution.git
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'https://github.com/***/Super_Resolution.git'
    
[/code]

となりました.  
この場合どのようにpush すればよろしいでしょうか？


CC BY-SA 4.0
2019-12-19T13:56:02.667
61593
2019-12-19T23:10:48.903
31609
question
git github
gitの管理下にないファイルがエラーになる


エラーメッセージの通りで、ひとつのファイルの大きさが100メガバイトを越えているから拒否されています。  
有料契約して、git lfs 設定すれば、大丈夫です。

* * *

### わかりにくかったと自己反省したので追記

github に具体的な説明があります。

[ファイルを Git にプッシュしようとしたとき、「これは Git LFS のファイル サイズ制限である 100 MB
を超えています」という趣旨のエラーが表示された場合](https://help.github.com/ja/github/managing-large-
files/moving-a-file-in-your-repository-to-git-large-file-storage)

既に問題のファイルは過去に `commit` 済みではないでしょうか？  
そのため `--chace` で今からコミットするファイルを削除してももう手遅れです。

git のコミットをさかのぼって エラーの出ているファイルを 削除するためには  
[履歴の書き換え](https://git-
scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E6%AD%B4%E5%8F%B2%E3%81%AE%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88)  
を行う事が根本的な解決です。

少々複雑な手順なので、勉強の意味を兼ねて挑戦してみてください。

まだ、コミット件数が少ない場合には 過去の履歴をあきらめて、  
新たに大きなファイルを含まずに コミットするという方法もあります。

### github のディスク容量の制限

github には 1日に送信できる １ファイルあたりのサイズに制限を設けています。  
アカウントの `Billing` の中 [アカウントの `Billing` の中](https://github.com/settings/billing)

また、[git lfs の使い方に関する詳しい説明](https://help.github.com/ja/github/managing-large-
files/configuring-git-large-file-storage) のページもあるので  
試してみてください。  
これも、すでにコミットした大きなファイルに対する過去の履歴書き換えを  
行い、そのファイルを改めて git lfs の追跡対象とする手順となっています。

1日あたりの push 量に制限があるので １か月だけ有料契約して push してその後、無料契約に戻るというわざ（？）も使えます。


CC BY-SA 4.0
2019-12-19T16:14:07.527
61596
2019-12-19T23:10:48.903
2020-06-17T08:14:45.997
-1
18851
61593
answer


  * エラーが出ていたのは **カレントディレクトリ** 以下の `SRCNN-pytorch/BLAH_BLAH/91-image_x*` です。  
一方で、あなたが `git rm` で指定した `/SRCNN-pytorch/BLAH_BLAH` というパスは **ルートディレクトリ**
以下の絶対パスになっており、両者は別物です。コマンドを実行したとき、別のエラーになりませんでしたか？

  * `git rm` で指定するのは基本的に **ファイル名** です。あなたが指定したのは **ディレクトリ** なので、  
例えば `git rm SRCNN-pytorch/BLAH_BLAH/*` のような指定を行う必要がある気がします。


CC BY-SA 4.0
2019-12-19T16:51:23.657
61597
2019-12-19T16:51:23.657
3060
61593
answer