GitHub에서 푸시가 거부되는 가장 흔한 이유는 파일 크기입니다. 커밋에 큰 파일이 하나라도 섞이면 그 파일을 지워도 기록에 남아 계속 막힙니다. 아래에서 크기 기준, 기록에서 지우는 법, Git LFS 사용량 계산, Pages 한도를 정리했습니다.
GitHub에서 푸시가 거부되는 가장 흔한 이유는 파일 크기입니다. 커밋에 큰 파일이 하나라도 섞이면 그 파일을 지워도 기록에 남아 계속 막힙니다. 아래에서 크기 기준, 기록에서 지우는 법, Git LFS 사용량 계산, Pages 한도를 정리했습니다.
GitHub 파일 크기 기준
GitHub는 50MiB가 넘는 파일을 추가하면 경고만 하고 푸시를 받아 주지만, 100MiB가 넘는 파일은 푸시 자체를 거부합니다. 웹 브라우저로 올릴 때는 이보다 작은 25MiB가 한도입니다. 저장소 전체는 1GB 미만이 이상적이고 5GB 미만으로 유지하라는 것이 공식 권장이며, 너무 크면 정리를 요청하는 메일이 옵니다.
GitHub 큰 파일 기록에서 지우기
큰 파일을 다음 커밋에서 지워도 이전 커밋에 남아 있으면 푸시는 계속 거부됩니다.
| 구분 | 내용 |
|---|---|
| 방금 커밋(미푸시) | git rm –cached 파일명 후 git commit –amend -CHEAD |
| 예전 커밋 | git filter-repo 로 기록에서 제거 |
| 도구 없이 | 대화형 리베이스(조건 충족 시) |
| 리베이스 조건 | 커밋이 한 브랜치에만 있고 이후 병합 없음 |
| 작업 전 | 저장소 밖에 파일 백업 |
| 큰 파일 배포 | 커밋 대신 릴리스에 첨부 |
GitHub Git LFS 사용량 계산
Git LFS를 쓰면 100MiB 넘는 파일도 올릴 수 있지만 무료 플랜은 파일당 2GB, 저장공간 10GiB, 대역폭 10GiB입니다. 500MB 파일을 1바이트만 고쳐 다시 푸시해도 저장공간은 500MB가 더 늘어납니다. 다른 사람이 포크하거나 내려받은 양도 원래 저장소 주인의 대역폭에서 빠집니다. 결제 수단이 없으면 저장공간을 넘긴 뒤 새 파일을 푸시할 수 없습니다.
GitHub Pages 사용 한도
GitHub Pages는 계정마다 사용자 사이트를 하나만 만들 수 있고, 게시된 사이트는 1GB 이하여야 합니다. 배포가 10분을 넘기면 시간 초과로 실패하고, 월 100GB 대역폭과 시간당 빌드 10회는 소프트 한도입니다. 온라인 상거래나 비밀번호·카드번호를 주고받는 사이트로는 쓸 수 없습니다.
GitHub를 쓰다 막히면 먼저 파일 크기를 보세요. 50MiB가 넘으면 경고, 100MiB가 넘으면 푸시가 거부되고 웹 업로드는 25MiB까지입니다. 큰 파일은 지워도 이전 커밋에 남아 있으면 계속 막히므로 기록에서 제거해야 하고, 배포용 파일은 커밋 대신 릴리스에 첨부하는 것이 공식 방법입니다. 무료 계정은 비공개 저장소에서 Actions 월 2,000분, 아티팩트와 Packages 합쳐 500MB, Git LFS 저장공간과 대역폭 각 10GiB를 쓰고, 결제 수단이 없으면 다 쓴 순간 사용이 막힙니다. Pages는 무료 플랜에서 공개 저장소에서만 켜집니다. Git 명령에는 계정 암호 대신 개인용 액세스 토큰을 넣고, 기여 계정은 2단계 인증을 켜야 하며, 복구 코드 파일은 기기와 다른 곳에 보관해 두세요.