Git LFS管理しているファイルを通常のGit管理に戻す方法

既にGit LFSで管理しているファイルをLFS管理から除外する方法のメモ

Git LFSを辞めたくなった理由

・ GitHubの1GB制限に引っ掛かりそう
・ 結局cloneするときは全ファイル必要
・ 単体で100MBを超えるような巨大なファイルは特にない

リポジトリを作り直す方法

リポジトリを作り直せるのであれば素直にリポジトリ作り直すのが一番早いと思います。
ちなみにGitHubのリモートストレージはここ見る限りリポジトリ削除しないと解放されないっぽいです。(forkとかあるし言われてみれば納得)

リポジトリを作り直さない方法

自分は直近リモートストレージは今のままで問題ないのでこちらの方法を実施しました。

1. .gitattributesからLFS管理を辞めたいファイルの設定を削除
以下のような行がlfsの設定です。
例) pngファイルをLFS対象にする例

*.png filter=lfs diff=lfs merge=lfs -text

これらの設定を削除しておきます。

2. LFS管理を辞めたいファイルをリポジトリ管理から削除

git rm --cached [filename]

※歴史上からも消し去りたい場合はこちらの方法の方が良い
(この場合force push必須なのでチーム開発してる場合は要注意)

3. 再度addしてcommit

git add [filename]
git commit -m "commit message"

これでLFS管理から通常のバージョン管理に戻せます。
ちなみにLFSでトラックしているファイルは以下で確認可能です。

git lfs ls-files

いいなと思ったら応援しよう!