유니티 게임 제작 시 Firebase를 사용해야 할 때 Github LFS를 사용해야 할 상황이 생기는데(Auth 관련 SDK Package 를 설치하면 2개의 파일의 용량이 90mb, 160mb 임) LFS 설치 및 설정을 했음에도 원격 리포지토리에 푸시하지 못했다고 에러가 뜰 때.
Remote: Resolving deltas: 100% (119/119), completed with 17 local objects.
Remote: warning: File Assets/Firebase/Plugins/x86_64/FirebaseCppApp-11_8_0.so is 87.92 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
원격 리포지토리에 푸시하는 동안 오류가 발생했습니다. 원격 리포지토리에 푸시하지 못했습니다.
자세한 내용은 출력 창을 참조하세요.
Remote: warning: File Assets/Firebase/Plugins/x86_64/FirebaseCppApp-11_8_0.so is 87.92 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
Remote: warning: File Assets/Firebase/Plugins/x86_64/FirebaseCppApp-11_8.0.bundle is 155.35 MB; this exceeds GitHub's file size limit of 100.00 MB
.gitattribute에 [*.bundle, *.so] 는 삭제하고 그냥 정확한 파일명으로 2개만 남겨 놓음
원격 저장소 이름: origin, 브랜치 이름: master
원격 리포지토리 주소는 VS Git 원격설정에서 당연히 해놓은 상태입니다.
Git LageFileStorage 설치파일 Download 해서 설치 후,
git push --force 명령어는 원격 저장소의 특정 브랜치에 대해 로컬의 변경사항을 강제로 덮어쓰게 합니다. 이 명령은 매우 조심해서 사용해야 합니다. 왜냐하면 원격 브랜치에 있는 커밋 히스토리를 로컬의 히스토리로 덮어쓰기 때문에, 만약 다른 사람이 해당 브랜치에 푸시한 변경사항이 있었다면 그 변경사항들은 사라지게 됩니다.
특히 다음과 같은 경우에 '--force' 옵션을 사용해야 할 수 있습니다.
-Git LFS로 마이그레이션 한 후, 로컬의 커밋 히스토리가 원격 저장소와 다를 때.
-잘못된 커밋을 원격 저장소에 푸시했고, 그것을 수정한 후 원격 저장소의 히스토리를 고치고 싶을 때.
-리베이스나 스쿼시(squash)같은 작업을 수행한 후 원격 저장소에 반영하고 싶을 때.
'--force'를 사용하기 전에는 다음 사항들을 꼭 확인해야 합니다.
-협업자에게 알림: 다른 협업자들이 있을경우 --force로 푸시하기 전에 반드시 알려야 합니다. 그렇지 않으면 다른 사람들의 작업이 사라질 수 있습니다.
-원격 브랜치 상태 확인: --force로 푸시를 하기 전에 원격 브랜치의 상태를 확인하고, 혹시 다른 사람의 중요한 작업이 있지는 않은 지 확인해야 합니다.
-백업: 가능하다면 원격 브랜치의 상태를 백업해두어야 나중에 문제가 생겼을 때 원래 상태로 돌아갈 수 있는 안전망을 제공합니다.