GitHub 25MB以上100MB未満のファイルをアップロードする手順

GitHub に 25 MB 以上のファイルをアップロードすると以下のエラーメッセージが表示されます。

Yowza, that’s a big file. Try again with a file smaller than 25MB.

やあ、それは大きなファイルですね。 25MB 未満のファイルで再試行してください。

GitHub のリポジトリに 25 MB 以上のファイルをアップロードした際に表示されるエラーメッセージと Google 翻訳

今回は、GitHub のリポジトリに 25 MB 以上のファイルをアップロードするための手順を紹介します。
コマンドプロンプトで git コマンドを使って GitHub のリモートリポジトリに PC のローカルリポジトリのファイルをアップロードする手順も紹介します。

サイト経由でのアップロードとエラー画面

GitHub のリポジトリにファイルをアップロードするには、アップロード先のフォルダを開いた状態で、右上の Add File ドロップダウンリストを開き Upload files を選択します。

GitHub アップロード先のリポジトリのフォルダで右上のAddFiles をおして Upload files を選択します.

「Drag files here to add them to your repositiory」と表示された枠に、アップロードするファイルドラッグ&ドロップします。

GitHub 25MB 以上のファイルをアップロードするとエラーメッセージ Yowza が表示されます

この際に 25 MB 以上のファイルをアップロードすると前述の引用に書いたエラーメッセージYowza, that’s a big file. Try again with a file smaller than 25MB.」が表示されます。

git コマンド経由ならば 100 MB 以下までアップロード可能

サイト経由では 25 MB 未満のファイルしかアップロードできません。
しかし、コマンドラインで git コマンドでアップロードする場合は 100 MB 以下のファイルをアップロードできます。

Files that you add to a repository via a browser are limited to 25 MiB per file. You can add larger files, up to 100 MiB each, via the command line. For more information, see “Adding a file to a repository using the command line.” To add files larger than 100 MiB, you must use Git Large File Storage. For more information, see “About large files on GitHub.”

ブラウザ経由でリポジトリに追加するファイルは、ファイルごとに 25 MiB に制限されています。コマンド ラインを使用して、それぞれ最大 100 MiB の大きなファイルを追加できます。詳細については、「コマンドラインを使用したリポジトリへのファイルの追加」を参照してください。 100 MiB を超えるファイルを追加するには、Git Large File Storage を使用する必要があります。詳細については、「GitHub 上の大きなファイルについて」を参照してください。

Adding a file to a repository – GitHub Docs

git コマンドを使うためにコマンドプロンプトを起動します
Windows 10 の場合は、左下のボックスに「コマンドプロンプト」と入力して、検索結果からコマンドプロンプトを選択して起動できます。

Windows10 コマンドプロンプトを起動します.

最初に、GitHub のリモートリポジトリのファイル群を、PC の任意のフォルダにローカルリポジトリとしてクローンします。

git clone コマンドを行う前に、ローカルリポジトリを作成するフォルダに cd コマンド(ドライブ移動は /d もつけてください)で移動しておきます。

Microsoft Windows [Version 10.0.19045.4291]
(c) Microsoft Corporation. All rights reserved.

G:\Dev\Godot4GD\SakuraCrowd>cd JumpOrDie\WebGL\GitHub

クローンを得るリポジトリが https://github.com/sakura-crowd/WebGLPublic の場合は、その後に .git を付け加えた以下のパスを指定して git clone を実行します。
※ sakura-crowd の部分は、ユーザー名で異なります。

git clone https://github.com/sakura-crowd/WebGLPublic.git

git clone の実行結果は以下です。これでカレントディレクトリの下に指定した GitHub 上のリポジトリの内容が複製されました。

G:\Dev\Godot4GD\SakuraCrowd\JumpOrDie\WebGL\GitHub>git clone https://github.com/sakura-crowd/WebGLPublic.git
Cloning into 'WebGLPublic'...
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (30/30), done.
Receiving objects:  61% (19/31), 1.20 MiB | 163.00 KiB/sused 0
Receiving objects: 100% (31/31), 1.24 MiB | 168.00 KiB/s, done.
Resolving deltas: 100% (10/10), done.
Updating files: 100% (12/12), done.

git clone で複製されたローカルリポジトリのフォルダに cd コマンドで移動します。

G:\Dev\Godot4GD\SakuraCrowd\JumpOrDie\WebGL\GitHub>cd WebGLPublic\JumpOrDieWebGL

ローカルリポジトリに、先ほどサイト経由ではアップロードできなかった 25 MB 以上のファイル index.wasm を追加します。

GitHub clone で作成したフォルダにまだ github に追加していないファイルを追加します.

新たにアップロードする 25 MB 以上のファイル index.wasm を git add コマンドでステージに追加します。
ステージは git で、これからコミットするファイル群を一時的に置いておく場所です。

G:\Dev\Godot4GD\SakuraCrowd\JumpOrDie\WebGL\GitHub\WebGLPublic\JumpOrDieWebGL>git add index.wasm

エクスプローラを見ると add した index.wasm のファイルアイコンに + が付いています。

GitHub git add で追加したファイルのアイコンが+に変わりました

次に、今回コミットするステージのファイル群の説明文git commit -m “コメント文” で設定します。

G:\Dev\Godot4GD\SakuraCrowd\JumpOrDie\WebGL\GitHub\WebGLPublic\JumpOrDieWebGL>git commit -m "add index.wasm"
[main 2486e4b] add index.wasm
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 JumpOrDieWebGL/index.wasm

エクスプローラを見ると index.wasm ファイルのアイコンが✔(チェック)に変わりました。
しかし、まだ、GitHub のリモートリポジトリにはアップロードされていません

GitHub git commit -m コメント で追加したファイルのアイコンがチェックに変わりました

次に git push コマンドでコミット先を指定して、現在ステージにあるファイル群(例では index.wasm)を指定したコメントを添えて GitHub のリモートリポジトリにコミットします。

G:\Dev\Godot4GD\SakuraCrowd\JumpOrDie\WebGL\GitHub\WebGLPublic>git push origin main

初めてのリモートリポジトリに git push する場合、認証ダイアログが表示されます。
認証してコミットするために「Sign in with your browser」ボタンを押します。

GitHub git push origin main を入力するとサインインのダイアログが表示されました.

「Autorize git-ecosystem」ボタンを押します。

GitHub git push origin main を入力後の認証1.

GitHub リポジトリのアカウントのパスワードを入力して confirm ボタンを押します。

GitHub git push origin main を入力後の認証2.

認証が完了しました。コマンドプロンプトを確認してみましょう。

GitHub git push origin main を入力後の認証完了.

認証完了後、GitHub に登録したメールアドレス宛にメッセージが届きました。

GitHub git push origin main コマンドの後の認証をした後に届いたメール..

認証が完了した後に、コマンドプロンプトを確認すると、コミット処理のログが表示されています。

GitHub git push origin main を入力後の認証完了後のコマンドプロンプトには結果のログが表示されています..
G:\Dev\Godot4GD\SakuraCrowd\JumpOrDie\WebGL\GitHub\WebGLPublic>git push origin main
info: please complete authentication in your browser...
Enumerating objects: 15, done.
Counting objects: 100% (15/15), done.
Delta compression using up to 12 threads
Compressing objects: 100% (10/10), done.
Writing objects: 100% (10/10), 7.56 MiB | 3.27 MiB/s, done.
Total 10 (delta 5), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (5/5), completed with 4 local objects.
To https://github.com/sakura-crowd/WebGLPublic.git
   4e019dc..3cd6d60  main -> main

G:\Dev\Godot4GD\SakuraCrowd\JumpOrDie\WebGL\GitHub\WebGLPublic>

サイト経由でのアップロードではエラーメッセージが表示された 25MB 以上のファイルも、 git コマンドを使えば 100 MB までアップロードできます。
GitHub のコミット先のリポジトリを確認すると、 25 MB 以上の index.wasm ファイルがアップロードできました。

GitHub リポジトリにローカルから 25 MB 以上の wasm ファイルをアップロードできました..

コミットが失敗した場合のエラー例とその対処例

git commit コマンドで、ステージにセットしたファイル群をリモートリポジトリに以下のコマンドでコミットする際に「error: src refspec master does not match any」というエラーが発生しました。

git push origin master

この原因として、リポジトリ名(ブランチ)が異なる場合があります。
2020 年 10 月以降は、 master ブランチではなく main ブランチが作成されるためです。
その場合は、以下のようにブランチの指定を変更してコミットすると成功するかもしれません。
※筆者の場合はこれでコミットできました。

git push origin main

解決策

上記のようなチェックをしているにも関わらず、push時にエラーが出る方は、以下のことを試してみてください。

git push origin master

git push origin main

このように変更することで、正しくpushされます。

原因

エラーが出てしまうのは、レポジトリ名が原因です。

以前は「master」ブランチが自動で作成されていたのですが、2020/10以降、新規にレポジトリを作成すると、「main」ブランチが作成されます。よって、今まで通り、git push origin masterでpushしようとすると、レポジトリ名が異なるため、エラーになってしまうということです。

git push時のerror: src refspec master does not match anyについて – deepblue

ローカルリポジトリの全ての変更済みファイルをステージに追加する

前述の例では、まだリモートリポジトリにない 25MB 以上のファイル index.wasm だけをコミットしました。

もしも、ローカルリポジトリに複数の変更済みファイルがある場合は、 git add ファイル名で複数回ステージに追加するのは面倒です。
そのような場合は git add . を使うことでカレントディレクトリの全ての変更済みのファイルをステージに追加することができます。

その後、それらのファイルをコミットする際に沿えるメッセージを、先ほどと同じように git commit -m “コメント文” で設定してから git commit を使って指定したリモートリポジトリにコミットしましょう。

G:\Dev\Godot4GD\SakuraCrowd\JumpOrDie\WebGL\GitHub\WebGLPublic\JumpOrDieWebGL>git add .

G:\Dev\Godot4GD\SakuraCrowd\JumpOrDie\WebGL\GitHub\WebGLPublic\JumpOrDieWebGL>git commit -m "エクスポート設定で対応する環 境からデスクトップを除去して再びエクスポートしたため一部のファイルが変わりました。"
[main 3cd6d60] エクスポート設定で対応する環境からデスクトップを除去して再びエクスポートしたため一部のファイルが変わりまし た。
 3 files changed, 7 insertions(+), 7 deletions(-)

100 MB 超過のファイルを GitHub にアップロードできる LFS

100 MB 超過のファイルを GitHub にアップロードするには Large File Storage (LFS) をインストールして、そのファイルの拡張子を登録します。
これにより、登録した拡張子を LFS が追跡して、その拡張子のファイルが 100 MB 以上の場合もアップロードできるようになります。

これについては、まだ、実際に試していませんが、以下の引用を参照してください。

  1. In order to upload a large file, you need to install a Git extension called Git Large File Storage (LFS). You can download it from this link (https://git-lfs.github.com/).

    大きなファイルをアップロードするには、Git Large File Storage (LFS) と呼ばれる Git 拡張機能をインストールする必要があります。このリンク (https://git-lfs.github.com/) からダウンロードできます。
  2. After download and install the extension, go to the local repository from where you upload the large file in remote repository.

    拡張機能をダウンロードしてインストールした後、リモート リポジトリに大きなファイルをアップロードする場所からローカル リポジトリに移動します。
  3. Run the command git init in git bash or windows cli to initialize.

    git bash または Windows cli でコマンド git init を実行して初期化します。
  4. Run the command git lfs install to check if the extension is installed properly. You will get the message Git LFS initialized

    コマンド git lfs install を実行して、拡張機能が正しくインストールされているかどうかを確認します。 「Git LFS が初期化されました」というメッセージが表示されます
  5. If it is installed properly, then run the command git lfs track “*.file type extension”. For example, if you want to upload a pdf file then run git lfs track “*.pdf” Then only pdf files from the local repository will be added to the remote repository.

    正しくインストールされている場合は、コマンド git lfs track “*.file type extension” を実行します。たとえば、PDF ファイルをアップロードする場合は、git lfs track “*.pdf” を実行すると、ローカル リポジトリの PDF ファイルのみがリモート リポジトリに追加されます。
  6. Then run the command git add .gitattributes. It will create a .gitattribute.txt” file in your local repository where you will see the line “*.pdf filter=lfs diff=lfs merge=lfs -text” since I am uploading pdf files only.

    次に、コマンド git add .gitattributes を実行します。 PDF ファイルのみをアップロードしているため、ローカル リポジトリに .gitattribute.txt” ファイルが作成され、そこに “*.pdf filter=lfs diff=lfs merge=lfs -text” という行が表示されます。
  7. Then use the following genric git commands to upload the files–

    次に、次の一般的な git コマンドを使用してファイルをアップロードします

Sometimes, it may give error after executing the last command. Therefore, you can use –force attribute while pushing to the remote repository.

場合によっては、最後のコマンドを実行した後にエラーが発生することがあります。したがって、リモート リポジトリにプッシュするときに –force 属性を使用できます。

How to upload file more than 25 MB · Issue #1 · crazy-rnd/git-camp の一部と Google 翻訳

まとめ

今回は、GitHub のリポジトリに 25 MB 以上のファイルをアップロードするための手順を紹介しました。
コマンドプロンプトで git コマンドを使って GitHub のリモートリポジトリに PC のローカルリポジトリのファイルをアップロードする手順も紹介しました。
100 MB 超過のファイルは LFS を用いる参照についても紹介しました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました