본문 바로가기
Programming/git

[git] git lfs 대용량 파일 업로드 시 에러

by didi0di 2025. 4. 17.
728x90

[이전글 : [git] git lfs 로 대용량 파일 관리하기]

 

[git] git lfs 로 대용량 파일 관리하기

먼저 아래 git-lfs 공식 사이트에서 OS에 맞는 파일을 다운로드 한다. https://git-lfs.com/ Git Large File StorageGit Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers i

didi-universe.tistory.com

 

 

 

앞서 git lfs로 대용량 파일 업로드를 하려고 했으나,,, 에러발생 !

 

이미 커밋한 내역에 대용량 파일이 포함되어 있으면 다음과 같이 에러가 발생한다.

 

이때는 대용량 파일이 포함된 커밋을 모두 지워줘야 하는데,

커밋을 삭제하는 명령어인 git reset 을 사용헤서 커밋을 삭제해준다.

 

git reset --mixed 등 이것저것 시도해봤으나... 아래 방법이 가장 깔끔하다.

 

 

✅ git reset --hard로 처리하는 방법

  1. 대용량 파일을 포함한 커밋을 되돌리려면 가장 최근 커밋을 되돌리고, 해당 커밋에서 변경된 모든 사항(대용량 파일 포함)을 삭제할 수 있음
git reset --hard HEAD~1
  • HEAD~1: 가장 최근 커밋을 기준으로 한 커밋을 되돌리기 
    • 물결 뒤의 숫자 : 돌아가고 싶은 커밋 수
  • --hard: 작업 디렉토리와 스테이징 영역까지 모두 삭제 (주의)
  • 변경 사항을 남기고 싶다면 --soft 또는 --mixed를 사용할 것.
    • --soft: 커밋만 되돌리고, 변경 사항은 staged 상태로 남김.
    • --mixed: 커밋만 되돌리고, 변경 사항은 working directory에 남김 (스테이지는 되돌림)

근데 해보니까 얘네 둘은 안됨. 자꾸 동일 에러 발생해서 시간만 잡아먹었다... 그냥 --hard로 해야 깔끔하다.

✅ 사용 예시

  • 예를 들어, 최근 커밋에서 대용량 파일을 실수로 추가했을 경우, git reset --hard 명령어로 해당 커밋을 되돌리고 다시 커밋을 할 수 있다
  • LFS 적용 후 해당 파일을 다시 추가하고, 새로운 커밋을 만들어 푸시하면 됨!

 

예시 흐름

  1. 3개 커밋을 되돌리기 (파일 변경 사항은 유지)
git reset --mixed HEAD~3

 

2. LFS로 대용량 파일 추적 (LFS 설정이 없다면, 이때 적용)

git lfs install
git lfs track "*.pdf" # 예시: pdf 파일을 LFS로 추적

 

 

3. 파일을 스테이징하고 커밋

 

git add . git commit -m "LFS로 대용량 파일 추가"

 

 

4. 푸시

git push origin feature/rag # 푸쉬할 브랜치명 입력

 

 

깔끔하게 업로드 성공! 

 

 

lfs로 관리되는 파일 확인

참고로 lfs로 관리되는 파일들을 확인하려면 아래 명령어를 입력

 

git lfs lf-files

 

그럼 이렇게 lfs 로 관리중인 파일 리스트가 쭉 뜬다.

 

728x90

댓글