Git LFSは大きなファイルでどのように機能しますか?

user840718

LFSを使用してGithubサーバーに1GBの大きなファイルをアップロードしようとしました。うまくいきました。大きなバイナリファイルはソースコードファイルのように追跡できないため、小さな変更でもプッシュするとアップロード全体のコストがかかり、その結果、プッシュごとに1GBの帯域幅が使用されます。しかし、一度プッシュすると、ソースコードファイルとして扱われていることに気づいたので、小さな変更ですぐにコミットされました。どうしてそれは可能ですか?大きなファイルでもGitLFSはどのように最適化されていますか?

Mokubai

バイナリブロブは、任意の量のブロックに分割し、ハッシュしてから、「既知の正常な」コピーと比較することができます。

その結果、大きなファイル内での小さな変更や大きなファイルへの追加により、ハッシュされたブロックサイズに等しい量の変更が発生する可能性があります。

これはBitTorrentで使用されるシステムと同様の手法であり、両方の当事者すでにファイルの一部を持っている可能性がある場合に、帯域幅の使用を最小限に抑えてサイズが不明なファイルをネットワーク経由で転送する必要があるシステムに関連します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

gitは圧縮ファイルでどのように機能しますか?

分類Dev

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

分類Dev

`git rebase`は内部でどのように機能しますか?

分類Dev

大きなファイルを無視してgitリポジトリにプッシュするにはどうすればよいですか?

分類Dev

Gitリポジトリのコミット履歴から大きなファイルを削除/削除するにはどうすればよいですか?

分類Dev

Git LFSファイルを保存する場所を指定するにはどうすればよいですか?

分類Dev

gitブランチはWindowsでどのように機能しますか?2つのファイルですが、1つのファイルしか表示されません

分類Dev

gitはどのようにファイルを保存しますか?

分類Dev

gitはどのように重複ファイルを保存しますか?

分類Dev

誤ってステージングされた大きなファイルを.gitから完全に削除するにはどうすればよいですか?

分類Dev

gitリベースで新しいファイルをどのように作成できますか?

分類Dev

特定のファイルでautocrlfを実行しないようにgitを構成できますか?

分類Dev

git-lfsサーバー(gitlab)で破損したファイルを修正するにはどうすればよいですか?

分類Dev

git-reviewはどのように機能しますか?

分類Dev

git log --follow <filename> はどのように機能しますか?

分類Dev

このgitエイリアスはどのように機能しますか?

分類Dev

gitはブランチ間でファイルをどのように「非表示」にしますか?

分類Dev

大きなファイル(.aviと.pdf)とソースファイル(.py、.m)を含むフォルダーを、gitソース管理下の複数のディレクトリに配置するにはどうすればよいですか?

分類Dev

gitが大きなファイルに対してバイナリ差分を自動的に実行しないようにするにはどうすればよいですか?

分類Dev

Git LFSファイルを含むリポジトリのクローンを作成するにはどうすればよいですか?

分類Dev

git-lfs:致命的:これほど大きなファイルを処理できません(4.3G)

分類Dev

いくつかのコミットの前に大きなファイルを削除します(gitで)

分類Dev

git logはブランチ間でどのように機能しますか?

分類Dev

一部のファイルをgit-lfsから除外できますか?

分類Dev

GIT:gitはテキストファイルの変更をどのように認識しますか?

分類Dev

Git:*ほとんどの*ユーザーがファイルを編集できないようにする方法はありますか?

分類Dev

Gitでのrefnameのアルファベット順の並べ替え、どのように機能しますか?

分類Dev

gitフェッチ後のgitチェックアウトはどのように機能しますか

分類Dev

git blameは、ファイルの行を誰が編集したかをどのように判断しますか?

Related 関連記事

  1. 1

    gitは圧縮ファイルでどのように機能しますか?

  2. 2

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

  3. 3

    `git rebase`は内部でどのように機能しますか?

  4. 4

    大きなファイルを無視してgitリポジトリにプッシュするにはどうすればよいですか?

  5. 5

    Gitリポジトリのコミット履歴から大きなファイルを削除/削除するにはどうすればよいですか?

  6. 6

    Git LFSファイルを保存する場所を指定するにはどうすればよいですか?

  7. 7

    gitブランチはWindowsでどのように機能しますか?2つのファイルですが、1つのファイルしか表示されません

  8. 8

    gitはどのようにファイルを保存しますか?

  9. 9

    gitはどのように重複ファイルを保存しますか?

  10. 10

    誤ってステージングされた大きなファイルを.gitから完全に削除するにはどうすればよいですか?

  11. 11

    gitリベースで新しいファイルをどのように作成できますか?

  12. 12

    特定のファイルでautocrlfを実行しないようにgitを構成できますか?

  13. 13

    git-lfsサーバー(gitlab)で破損したファイルを修正するにはどうすればよいですか?

  14. 14

    git-reviewはどのように機能しますか?

  15. 15

    git log --follow <filename> はどのように機能しますか?

  16. 16

    このgitエイリアスはどのように機能しますか?

  17. 17

    gitはブランチ間でファイルをどのように「非表示」にしますか?

  18. 18

    大きなファイル(.aviと.pdf)とソースファイル(.py、.m)を含むフォルダーを、gitソース管理下の複数のディレクトリに配置するにはどうすればよいですか?

  19. 19

    gitが大きなファイルに対してバイナリ差分を自動的に実行しないようにするにはどうすればよいですか?

  20. 20

    Git LFSファイルを含むリポジトリのクローンを作成するにはどうすればよいですか?

  21. 21

    git-lfs:致命的:これほど大きなファイルを処理できません(4.3G)

  22. 22

    いくつかのコミットの前に大きなファイルを削除します(gitで)

  23. 23

    git logはブランチ間でどのように機能しますか?

  24. 24

    一部のファイルをgit-lfsから除外できますか?

  25. 25

    GIT:gitはテキストファイルの変更をどのように認識しますか?

  26. 26

    Git:*ほとんどの*ユーザーがファイルを編集できないようにする方法はありますか?

  27. 27

    Gitでのrefnameのアルファベット順の並べ替え、どのように機能しますか?

  28. 28

    gitフェッチ後のgitチェックアウトはどのように機能しますか

  29. 29

    git blameは、ファイルの行を誰が編集したかをどのように判断しますか?

ホットタグ

アーカイブ