🐙
Git LFS の設定したけど Push 時にエラーが出るときの対処
Push時にこんなエラーが出たときの対処です。
Git LFS試してと出てるのでトラッキングの設定(.gitattributeに追記)をするもののやはりPushしたらエラーになるパターンが多いかと思います。
原因はすでにコミット済みの過去のファイルがLFS扱いになっていないためです。
というわけで過去を改変する必要があります。
こんなときのためのgit lfs migrate
コマンドを使います。
git lfs migrate info
でLFS化に失敗しているファイルが確認できます。
$ git lfs migrate info
migrate: Fetching remote refs: ..., done.
migrate: Sorting commits: ..., done.
migrate: Examining commits: 100% (8/8), done.
*.asset 1.8 GB 59/59 files(s) 100%
*.tif 58 MB 7/7 files(s) 100%
*.disabled 8.8 MB 4/4 files(s) 100%
*.dll 7.5 MB 2/2 files(s) 100%
*.unity 4.0 MB 19/19 files(s) 100%
git lfs migrate import
で過去のコミットもLFSとして書き換えてくれます。
$ git lfs migrate import
migrate: Fetching remote refs: ..., done.
migrate: Sorting commits: ..., done.
migrate: Rewriting commits: 100% (8/8), done.
develop/imposter 9a9f1e6fe7a8db2d0bb392c7aa10b2134a829a4e -> 00cc30d4fc848d90e65b64829a42b4e066e4d5bf
migrate: Updating refs: ..., done.
migrate: checkout: ..., done.
これでPushできるようになるはずです。
もしまだトラッキングしていない(.gitattributeに追記していない)場合は
git lfs migrate import --include="[ファイルパターン]"
のように--include
で指定することで同時に行うことができます。
Discussion