Commit c5af5eec authored by Hiroyuki Sato's avatar Hiroyuki Sato 🇯🇵

長いブログのタイトルを改善

parent 095ce6e3
---
title: "GitLab に push すると LFS のエラーが発生する場合の回避策"
title: "「LFS objects are missing」でpushできない時の回避策"
author: "Hiroyuki Sato"
author_gitlab: hiroponz
author_twitter: hiroponz79
description: "GitLab に push すると LFS のエラーが発生する場合があります。その回避策と原因について説明します。"
description: "GitLabにpushすると「LFS objects are missing」エラーが発生する場合があります。その回避策と原因について説明します。"
---
GitLab.com で公開されているリポジトリを会社の GitLab サーバーに push したところ、
LFSのエラーが発生してハマったのでその原因と回避策について説明します。
GitLab.comで公開されているリポジトリを会社のGitLabサーバーにpushしたところ、
「LFS objects are missing」エラーが発生してハマったのでその原因と回避策について説明します。
<!-- more -->
......
---
title: "GitLab.com のアカウントを作成して初期設定を行う手順"
title: "GitLab.comのアカウントを作成し、安全に利用する方法"
author: Hiroyuki Sato
author_gitlab: hiroponz
author_twitter: hiroponz79
description: "GitLab.com のアカウントを作成して、UIの日本語表示、2要素認証の有効化、パーソナルアクセストークンの生成、SSH鍵を追加する手順を説明します。"
description: "GitLab.comのアカウントを作成して、UIの日本語表示、2要素認証の有効化、パーソナルアクセストークンの生成、SSH鍵を追加する手順を説明します。"
---
はじめて GitLab.com を利用するには、アカウントを作成する必要があります。
......
---
title: "GitLabのユーザー名やグループ名に「.(ドット)」を使用しない方が良い理由"
title: "GitLabのユーザー名・グループ名を決める際の注意点"
author: Hiroyuki Sato
author_gitlab: hiroponz
author_twitter: hiroponz79
......
---
title: "GitLab Pagesを利用して無料でウェブサイトを公開する方法"
title: "GitLab Pagesで静的ウェブサイトを公開する方法"
author: Hiroyuki Sato
author_gitlab: hiroponz
author_twitter: hiroponz79
......
---
title: "GitLab Pagesを利用して無料でウェブサイトにアクセス制限をかける方法"
title: "GitLab Pagesでウェブサイトにアクセス制限をかける方法"
author: Hiroyuki Sato
author_gitlab: hiroponz
author_twitter: hiroponz79
......
---
title: "サイズが数百キロバイト程度の画像ファイルは Git LFS で管理しない方がよい理由"
title: "小さな画像ファイルはGit LFSで管理しない方がよい理由"
author: Hiroyuki Sato
author_gitlab: hiroponz
author_twitter: hiroponz79
......@@ -182,15 +182,17 @@ $ du -h -d 1 .
変換後のリポジトリをサーバーから clone した場合に必要なディスク容量は **4.8G 〜 9.0G** の間のいずれかの値になると推測されます。
すなわち、リポジトリをGit LFS形式に変換することにより、最良のケースでは **0.4G** の容量を節約できますが、最悪のケースでは **3.8G** の容量が余分に必要となります。
大量の小さな画像ファイルをGit LFSで管理しても、`objects` ディレクトリの削減効果が少ない割に `lfs` ディレクトリは肥大化しやすいと推測されます。
例えば、追加した画像ファイルの多くを変更も削除もせずにずっと残しているようなリポジトリの場合では、
最新のブランチを checkout すると最悪のケースに近い状態になります。
(ウェブサイトを Git でバージョン管理している場合は、これに近い状態になりやすいように思います。)
さらに悪いことに、変換したリポジトリを GitLab.com に push した所、12時間以上経過しても push が終わらないため、あきらめて強制終了しました。
これは、Git LFSで管理しているファイルを push した場合、それぞれのファイルごとに HTTP リクエストでファイルをアップロードする必要があるためと考えられます。
これは、Git LFSで管理しているファイルを push した場合、大量の [Git LFS Batch API](https://github.com/git-lfs/git-lfs/blob/master/docs/api/batch.md) リクエストが発生するためと考えられます。
仮にこのリポジトリの push が完了したとして、そのリポジトリを clone した場合は、同様に大量のHTTPリクエストが発生するため、非常に長い時間が必要になると予想されます。
仮にLFSに変換後のリポジトリの push が完了したとして、そのリポジトリを clone すると同様に大量のHTTPリクエストが発生するため、
LFSに変換前のリポジトリの clone よりも遅くなる可能性が高いと考えられます。
## まとめ
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment