最近、高解像度のアセットを扱う必要があるプロジェクトに取り組んでいましたが、その結果、サイズが大きくなってしまいました。ファイルをリポジトリにプッシュできませんでした。試行すると必ず次のエラーが表示されました:
リモート: エラー: ファイル file.csv は 182.47 MB です。これは GitHub のファイル サイズ制限である 100.00 MB を超えています
リモート: エラー: GH001: 大きなファイルが検出されました。 Git Large File Storage - https://git-lfs.github.com.
を試してみるとよいでしょう。
それでは、git 拡張機能 Git LFS とその活用方法について話しましょう。
Git Large File Storage (LFS) は、リポジトリ内の大きなファイルをより効率的に処理するために設計された Git 拡張機能です。
1. Git とは何ですか?
Git は、コードへの変更を追跡し、他のユーザーと共同作業できるバージョン管理システムです。通常、Git は、画像、ビデオ、または大きなバイナリ ファイルを含むすべてのコンテンツ (ファイル、コードなど) をリポジトリに直接保存します。
2.なぜ Git LFS が必要なのでしょうか?
デフォルトでは、Git はすべてを保存しますが、高解像度の画像、ビデオ、データセットなどの大きなファイルにより、リポジトリが非常に大きくなり、遅くなる可能性があります。変更をプッシュまたはプルするたびに、Git はすべてのデータをダウンロードするため、時間がかかり、マシン上のストレージ容量がより多く使用されます。
Git LFS は、次の方法でこれらの大きなファイルをより効率的に処理できるように設計されています。
大きなファイルを個別に保存する: Git LFS は、大きなファイルをリポジトリに直接保存する代わりに、それらをポインター (小さな参照) に置き換えます。実際のファイルは、リポジトリの外の別の場所に保存されます。
リポジトリを軽量に保つ: こうすることで、Git は必要なときにのみ大きなファイルをダウンロードするため、リポジトリは軽量かつ高速な状態を維持します。
3.Git LFS はどのように機能しますか?
大きなファイル (ビデオや画像など) をリポジトリに追加すると、Git LFS はそれを小さなポインター ファイルに置き換えます。
ポインター ファイルは、大きなファイルが実際に保存される場所を Git LFS に伝えます。
他の人があなたのリポジトリのクローンを作成したり、変更をプルしたりすると、大きなファイルを明示的にプルダウンしない限り、大きなファイル自体ではなくポインタ ファイルが取得されます。
4. Git LFS 入門
プロジェクトで Git LFS の使用を開始するには、次の手順に従います:
1.Git LFS のインストール: マシンに Git LFS をインストールする必要があります。ほとんどのシステムでは、これは次を実行することで行われます:
git lfs install
2.大きなファイルの追跡: インストールしたら、どのファイルを追跡するかを Git LFS に指示する必要があります (例: すべての .png ファイルまたは _.mp4 _files)。これは git lfs track コマンドを使用して行われます:
git lfs track "*.png"
これは、.png.
で終わるすべてのファイルを追跡するように Git LFS に指示します。3. 変更をコミットする: track コマンドを実行すると、Git LFS は追跡するファイルのルールを定義する .gitattributes ファイルを作成します。このファイルをリポジトリにコミットする必要があります:
git add .gitattributes git commit -m "Track large files using Git LFS"
4.大きなファイルの追加とプッシュ: これで、大きなファイル (ビデオや画像など) を追加すると、Git LFS が自動的にそれを管理します:
git add largefile.mp4 git commit -m "Add large video file" git push
注記
大きなファイルをコミットする前に、LFS を初期化して設定していることを確認してください。そうしないと、git LFS はプッシュ時にファイルを追跡しません。そして、以前と同様にエラーが発生し続けます。私も初めて git LFS 拡張機能を使い始めたときにこの問題に遭遇しました。
5.大きなファイルのプル:
誰かがリポジトリのクローンを作成またはプルすると、デフォルトで軽量のポインタ ファイルが取得されます。実際の大きなファイルが必要な場合は、
を使用してファイルをプルダウンできます。
git lfs pull
6. Git LFS
の利点Git 操作の高速化: Git は大きなファイルを直接処理する必要がないため、リポジトリの速度が維持されます。
ストレージ使用量の削減: 大きなファイルは個別に保存されるため、リポジトリのサイズが削減されます。
効率的なコラボレーション: 必要なときに、必要な大きなファイルのみがダウンロードされます。
7. Git LFS
の欠点ストレージ制限: 一部のプラットフォーム (GitHub など) では LFS に提供される無料ストレージが限られており、大きなファイルがたくさんある場合は追加のストレージの料金を支払う必要がある場合があります。
大きなファイルではプルが遅くなる: 大きなファイルがたくさんあり、それらを一度にダウンロードすると、それでも時間がかかることがありますが、Git LFS は通常の Git と比較してこれを最適化します。
コメントや質問をお気軽に追加してください。喜んで返信させていただきます
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3