Noesworthy

Git LFS(Large File Storage)ってなぁに

GitにLoRAをアップロードしようとしたら出てきたよぃ

Git LFSとは

普通のGitで扱えない「大きいファイル(モデル・画像・動画・LoRA重みなど)」を 別の場所に保存してリンクで管理する仕組み

仕組み

GitHubでも使えるの?

使えまぁす

Git Large File Storageについて

沼ったこと

Hugging FaceにもLFSの仕組みがあって、HGのGitにLoRAをアップロードしたら勝手にLFSに保存されたらしくて、そのあとLoRAファイルをローカルで削除してgit pushしようとしたら

remote: Your push was rejected because an LFS pointer pointed to a file that does not exist. remote: For instance, this can happen if you used git push --no-verify to push your changes. remote: Offending file: remote: - router_lora/adapter_model.safetensors remote: - router_lora/tokenizer.model

っていうエラーが出て沼った

GPTに言われた通りにgit lfs untrack [ファイル名]してLFSの追跡解除してもだめだし、

git rm --cached [ファイル名]でGitの追跡からはずしてもだめ

結局filter-repoっていうコマンドインストールして、全履歴から該当ファイル削除したらやっとエラー出なくなった

git filter-repo --path router_lora/adapter_model.safetensors --invert-paths git filter-repo --path router_lora/tokenizer.model --invert-paths

Gitの履歴にファイルがある = LFS管理対象 みたいなロジックがあるのか??

ちなみにこちらではLFSサーバーにはアクセスできなくて、管理対象外になった実体ファイルは そのうち勝手にガベージコレクションで消えるらしい

#tech