Git LFS 해제하는 방법

LFS가 있으면 안된다?!

Git Repo를 Template으로 만드려고 했더니, 이게 뭐람?!

LFS를 사용하고 있으면 Template Repo로 만들지 못한다고 합니다.

 

그래서 LFS 추적 해제하는 방법에 대해서 알아보고자 합니다.

확인하는 방법

먼저, Template으로 만들어주고자 하는 폴더에 들어가서 아래 명령어를 쳐줍니다.

git lfs ls-files

저는 명령어를 쳐보니깐

Assets/Oculus/Avatar2_SampleAssets/SampleAssets/SampleAssets/PresetAvatars_Quest.zip
Assets/Oculus/Avatar2_SampleAssets/SampleAssets/SampleAssets/PresetAvatars_Rift.zip

이렇게 두 파일이 LFS 추적되고 있다고 하네요! 제거해보도록 하겠습니다.


git lfs untrack "Assets/Oculus/Avatar2_SampleAssets/SampleAssets/SampleAssets/PresetAvatars_Quest.zip"
git lfs untrack "Assets/Oculus/Avatar2_SampleAssets/SampleAssets/SampleAssets/PresetAvatars_Rift.zip"

# .gitattributes 파일 확인해서 LFS 관련 라인 다 삭제

위와 같이 git lfs untrack "~~" 을 해주면 LFS추적을 해제할 수 있습니다.

해제된 모습

GitHub Desktop을 보면 LFS에서 해제된 것을 볼 수 있습니다!

 

여기서 마지막으로 아래 명령어까지 쳐주어야 합니다.

git rm --cached "Assets/Oculus/Avatar2_SampleAssets/SampleAssets/SampleAssets/PresetAvatars_Quest.zip"
git rm --cached "Assets/Oculus/Avatar2_SampleAssets/SampleAssets/SampleAssets/PresetAvatars_Rift.zip"

git add .
git commit -m "Remove LFS pointers and add normal files"

 

git rm --cached 를 하면 이전 커밋에 있던 LFS 포인터를 스테이징 영역에서 지우고, 새로 일반 파일로 다시 추가하게 됩니다.

이렇게 해야 포인터 파일 대신 실제 zip 파일이 git에 올라갑니다!