web-dev-qa-db-ja.com

Git LFSの恩恵を受けるには、「大きなファイル」はどのくらいの大きさでなければなりませんか?

私は Git LFS について読んでいて、「大きなファイル」に最適に機能することを何度も確認しています

Git Large File Storage(LFS)は、オーディオサンプル、ビデオなどの大きなファイルを置き換えます[...]

Gitを使用して、サイズの大きなファイル(サイズが数GBのものでも)をバージョン管理します。

Git Large File Storage(LFS)は、Git内の大きなファイルをテキストポインターに置き換え、それらのファイルのコンテンツをリモートサーバーに保存する無料のオープンソース拡張機能です。

残念ながら、「大きなファイル」が実際に何であるかはどこにもわかりません。数ギガバイトを占めるものは大きなファイルであることは明らかですが、それより小さいものはどうでしょうか。

50 MB程度の「大きなファイル」でGit LFSを利用できますか? 20MB? 5MB? 1MB? 1MB未満?

「大きなファイル」は、通常のGitと比較してGit LFSの恩恵を受けるためにどのくらい大きくなければなりませんか?

23
Thunderforge

大きなファイルを定義するための正確なしきい値はありません。これはユーザー次第です。 Git LFSを使用していくつかのファイルを保存する必要があるかどうかを確認するには、gitの動作を理解する必要があります。

Gitと他のソース管理ツール(perforce、svn)の最も基本的な違いは、Gitはコミットごとにリポジトリの完全なスナップショットを保存することです。したがって、大きなファイルがある場合、スナップショットにはこのファイルの圧縮バージョン(またはファイルが変更されていない場合はファイルblobへのポインター)が含まれます。リポジトリのスナップショットは、.gitフォルダーの下にグラフとして保存されます。したがって、ファイルが「大きい」場合、リポジトリのサイズは急速に大きくなります。

Git LFSを使用してファイルを保存するかどうかを決定する基準は複数あります。

  • ファイルのサイズ。 IMOファイルが10 MBを超える場合は、Git LFSへの保存を検討する必要があります

  • ファイルが変更される頻度。頻繁に変更される大きなファイル(大きなファイルのユーザーの直感に基づく)は、Git LFSを使用して保存する必要があります

  • ファイルのタイプ。マージできない非テキストファイルは、Git LFSストレージで使用できます

50 MB程度の「大きなファイル」でGit LFSを利用できますか? 20MB? 5MB? 1MB? 1MB未満?

ファイルが変更される頻度に応じて、言及された任意のサイズでメリットがあります。毎回ファイルの編集を100回コミットする場合を考えます。 15 MBに圧縮できる20MBのファイルの場合、Git LFSを使用してファイルを保存しないと、リポジトリのサイズは約1.5GB増加します。

13
yamenk