git size limit 해결하기

손영산·2024년 2월 8일
0
post-custom-banner

배경

yarn berry를 패키지 매니저로 사용하는 프로젝트에서 로컬 작업 내용을 리모트 환경으로 push 할때 다음과 같이 에러가 발생하면서 push되지 않는 상황을 마주했다.

remote: error: File .yarn/unplugged/@next-swc-darwin-arm64-npm-13.3.1-29d0864b6b/node_modules/@next/swc-darwin-arm64/next-swc.darwin-arm64.node is 100.29 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.

해결 방법

위의 에러 내용을 확인해 보면, 깃허브에서는 최대 100MB까지 저장 용량을 제공하고 있지만, push하는 내용이 100MB를 넘는 대용량 파일을 보유하고 있다는 것을 확인할 수 있었고, 깃에서 이런 대용량 파일 관리를 위해서 lfs라는 툴을 제공하고 있다는 사실을 알게 되었다.

lfs는 트래킹 설정한 대용량 파일은 대용량 파일 저장소에 저장을 하고 나머지 트래킹 설정하지 않은 파일들만 remote 저장소로 저장하도록 할 수 있다.

해결 과정 (Mac)

lfs를 적용하기 위해서 다음과 같은 순서로 적용하면 된다.

  1. lfs를 설치한다. (git-lfs)
brew install git-lfs
  1. lfs를 초기화한다.
git lfs install
  1. 트래킹할 대용량 파일을 지정한다.
git lfs track ".yarn/*"
  1. .gitattributes 파일을 등록한다.
git add .gitattributes
  1. 작업내용을 커밋하고 푸시한다.
git commit -m '~~'
git push origin main

추가

위의 설정을 진행해도 push가 되지않고 같은 에러가 발생한다면 프로젝트 내의 git 초기화하면 정상적으로 동작한다.

post-custom-banner

0개의 댓글