GitHub(https://github.com) 바로가기
GitHub(https://github.com) 바로가기 자세히 보기 >
GitHub는 코드를 저장하고 함께 고치는 곳이지만, 처음 쓰는 사람은 파일 크기와 로그인 방식에서 자주 막힙니다. 아래에서 GitHub 파일 크기 제한과 기록 정리 방법, 무료 플랜의 Actions·LFS 한도, Pages 사용 조건, 토큰 로그인과 2단계 인증 의무, 기기를 잃었을 때의 계정 복구 순서까지 공식 문서 기준으로 정리했습니다.
체크 포인트
100MiB 넘는 파일은 푸시 거부 — 지워도 이전 커밋에 남아 있으면 계속 막힙니다 · Git 명령에는 암호 대신 토큰 — 계정 암호로는 푸시가 안 됩니다 · 복구 코드는 따로 보관 — 2단계 인증 수단을 모두 잃으면 계정을 못 찾을 수 있습니다
GitHub 파일 크기 제한 — 50MiB 경고, 100MiB 차단
GitHub에서 푸시가 실패할 때 가장 먼저 볼 것은 파일 크기입니다. 기준이 단계별로 나뉩니다.
| 구분 | 내용 |
|---|---|
| 50MiB 초과 | 경고만 표시, 푸시는 됨 |
| 100MiB 초과 | 푸시 차단 |
| 웹 브라우저로 추가 | 파일당 25MiB까지 |
| 저장소 전체 | 1GB 미만 이상적, 5GB 미만 권장 |
| 릴리스 첨부 파일 | 파일당 2GiB 미만, 릴리스당 최대 1000개 |
| 릴리스 총량·대역폭 | 제한 없음 |
웹에서 파일 추가 버튼으로 올릴 때는 명령줄보다 훨씬 작은 25MiB에서 막힙니다. 큰 파일은 명령줄이나 Git LFS로 올려야 합니다.
저장소가 지나치게 커서 서버에 부담을 주면 GitHub 지원팀이 정리를 요청하는 메일을 보냅니다. 공식 문서는 Git이 백업 도구가 아니며, 큰 데이터베이스 파일(SQL)은 Git으로 관리하도록 설계되지 않았다고 적고 있습니다. 외부 라이브러리를 통째로 넣으면 저장소가 빨리 커지므로 패키지 관리자로 받게 하라는 것도 공식 권장입니다.
설치 파일처럼 큰 결과물을 나눠 줘야 한다면 저장소에 커밋하지 말고 릴리스에 첨부합니다. 릴리스는 전체 용량과 내려받기 대역폭에 제한이 없고, 파일 하나만 2GiB 미만이면 됩니다.
GitHub 큰 파일을 커밋 기록에서 지우는 순서
큰 파일을 실수로 커밋했다면 다음 커밋에서 지우는 것만으로는 해결되지 않습니다. 이전 커밋에 파일이 남아 있어 푸시가 계속 거부됩니다.
아직 푸시하지 않은 마지막 커밋에 들어간 경우는 이렇게 고칩니다.
- 터미널(Windows는 Git Bash)을 열고 로컬 저장소 폴더로 이동합니다.
- git rm –cached 파일명 으로 파일을 추적에서 뺍니다. 디스크의 파일은 남습니다.
- git commit –amend -CHEAD 로 마지막 커밋을 고쳐 씁니다. 새 커밋을 하나 더 만드는 것으로는 안 됩니다.
- git push 로 다시 올립니다.
| 구분 | 내용 |
|---|---|
| 예전 커밋에 들어간 경우 | git filter-repo 로 기록에서 제거(공식 권장) |
| 추가 도구 없이 | 대화형 리베이스로 해당 커밋 제거 |
| 리베이스 조건 ① | 파일을 넣은 커밋을 알고 있음 |
| 리베이스 조건 ② | 커밋이 한 브랜치에만 있음 |
| 리베이스 조건 ③ | 그 뒤로 병합이 없음 |
| 작업 전 | 저장소 밖 폴더에 파일 백업 |
기록을 지우는 작업은 파일을 영구히 없앱니다. 필요한 파일이면 저장소 밖에 복사본을 먼저 만들어 두세요.
GitHub 무료 플랜 Actions·Packages 한도
무료 계정도 공개·비공개 저장소를 개수 제한 없이 만들 수 있습니다. 비공개 저장소에서 쓰는 기능에는 월 할당량이 있습니다.
| 구분 | 내용 |
|---|---|
| Actions 분(Free) | 월 2,000분(비공개 저장소) |
| Actions 분(Pro) | 월 3,000분 |
| 아티팩트 저장공간(Free) | 500MB · Packages와 함께 씀 |
| Actions 캐시 | 저장소당 10GB(별도) |
| 공개 저장소 | 표준 러너 무료 |
| 초기화 | 매월 초 사용 분 0으로 |
막히는 지점은 계산 방식입니다. 10분짜리 작업이 5분 만에 실패하면 5분이 빠지고, 고쳐서 다시 성공시키면 총 15분이 빠집니다. 분은 실행한 사람이 아니라 저장소 주인에게 청구됩니다. 쓰기 권한이 있는 사람은 누구나 작업을 돌릴 수 있습니다.
결제 수단을 등록하지 않았다면 할당량을 다 쓴 순간 요금이 붙지 않고 사용이 막힙니다. 대형 러너는 공개 저장소에서도, 할당량이 남아 있어도 항상 유료이고 결제 수단이 없으면 늘 차단됩니다.
아티팩트는 지워도 그달에 이미 쌓인 저장 시간은 청구서에서 빠지지 않습니다. 저장공간은 시간 단위로 누적되기 때문입니다.
GitHub Git LFS 용량 계산과 초과 시 차단
Git LFS는 100MiB 넘는 파일을 다룰 때 씁니다. 저장소에는 포인터 파일만 두고 실제 파일은 따로 보관합니다.
| 구분 | 내용 |
|---|---|
| 파일당 최대(Free·Pro) | 2GB |
| 파일당 최대(Team) | 4GB |
| 저장공간(Free) | 10GiB |
| 대역폭(Free) | 10GiB · 매 청구 주기 초기화 |
| 사용량 알림 | 90%·100% 도달 시 메일 |
| 결제 수단 없이 초과 | 새 파일 푸시 불가 |
용량이 생각보다 빨리 차는 이유가 있습니다. 500MB 파일을 1바이트만 고쳐 다시 푸시해도 저장공간이 500MB 더 늘어납니다. 파일 전체의 새 버전이 올라가기 때문입니다.
대역폭도 저장소 주인 몫으로 계산됩니다. 협력자가 내려받거나, 다른 사람이 포크해서 받거나, Actions 작업이 LFS 파일을 내려받아도 주인의 대역폭이 줄어듭니다. 업로드는 대역폭에 잡히지 않습니다.
달 중간에 LFS 파일을 지워도 그달 저장공간 사용량은 다시 계산되지 않고 다음 달 초에 초기화됩니다.
GitHub Pages 사용 조건과 한도
GitHub Pages는 저장소의 파일로 정적 웹사이트를 띄우는 기능입니다. 무료 플랜은 공개 저장소에서만 쓸 수 있고, 비공개 저장소에서 쓰려면 Pro 이상이 필요합니다.
| 구분 | 내용 |
|---|---|
| 사용자·조직 사이트 | 계정당 1개 |
| 원본 저장소 | 1GB 권장 |
| 게시된 사이트 | 1GB 이하 |
| 배포 시간 | 10분 넘으면 시간 초과 |
| 대역폭 | 월 100GB(소프트 한도) |
| 빌드 횟수 | 시간당 10회(소프트 한도, Actions 워크플로 빌드는 제외) |
Pages는 온라인 상거래나 유료 소프트웨어 서비스를 돌리는 호스팅으로 쓸 수 없고, 비밀번호나 카드번호를 주고받는 용도로도 쓰면 안 됩니다. 요청이 몰려 속도 제한에 걸리면 429 응답이 돌아옵니다. 한도를 넘기면 GitHub가 사이트 정리를 요청하는 메일을 보낼 수 있습니다.
기존 웹사이트를 학습용으로 따라 만드는 것은 허용되지만, 코드를 직접 작성하고 사용자 정보를 받지 않으며, 원본과 관계없는 교육용이라는 표시를 눈에 띄게 달아야 합니다.
GitHub 토큰 로그인·2단계 인증·계정 복구
명령줄에서 푸시할 때 Git이 암호를 물으면 계정 암호가 아니라 개인용 액세스 토큰을 넣어야 합니다. Git에서 암호 인증은 제거됐습니다. SSH 키를 등록해 쓰는 방법도 있습니다.
| 구분 | 내용 |
|---|---|
| Git 푸시 인증 | 개인용 액세스 토큰 또는 SSH 키 |
| 미사용 토큰 | 1년 동안 안 쓰면 자동 삭제 |
| 세분화 토큰 | 계정당 50개까지 |
| 2단계 인증 의무 | 2023년 3월부터 코드 기여 계정 |
| 등록 기간 | 알림 후 45일 + 유예 7일 |
| 권장 수단 | 인증 앱(TOTP), 백업으로 패스키·보안 키 |
릴리스를 만들거나 패키지를 게시하는 등 기여 활동을 한 계정은 2단계 인증 대상이 됩니다. 기간 안에 켜지 않으면 켤 때까지 GitHub.com 접속이 막힙니다. 이미 발급된 토큰은 계속 작동하지만 새 토큰은 만들 수 없습니다. 로그인 때 받는 이메일 인증은 2단계 인증으로 치지 않고, 지역에 따라 문자 인증이 지원되지 않아 인증 앱을 써야 하는 경우도 있습니다.
인증 기기를 잃었을 때 복구 순서는 이렇습니다.
- github.com/login 에서 아이디와 암호를 입력합니다.
- ‘추가 옵션’에서 2FA 복구 코드를 고르고 코드 하나를 입력합니다. 기본 파일 이름은 github-recovery-codes.txt 입니다.
- 코드가 없으면 ‘계정 또는 메일 복구 시작’을 눌러 메일로 받은 일회성 암호를 넣습니다.
- 이전에 로그인한 기기, 등록한 SSH 키, 개인용 액세스 토큰 중 하나로 본인 확인을 하고 지원팀 검토를 기다립니다.
공식 문서는 복구 수단을 모두 잃으면 계정에 영영 들어가지 못할 수 있다고 경고합니다. 브라우저가 매일 쿠키를 지우게 설정돼 있으면 ‘확인된 기기’로 복구할 수 없으니 이 점도 확인해 두세요.
GitHub 자주 묻는 질문
Q. GitHub에 100MB가 넘는 파일을 올릴 수 있나요?
일반 커밋으로는 안 됩니다. 100MiB가 넘는 파일은 푸시가 거부되고, 웹 브라우저로는 25MiB까지만 올라갑니다. Git LFS를 쓰면 무료 플랜에서 파일당 2GB까지 올릴 수 있고, 배포용 파일은 릴리스에 첨부하면 파일당 2GiB 미만까지 됩니다.
Q. GitHub에서 큰 파일을 지웠는데 왜 푸시가 계속 안 되나요?
이전 커밋에 파일이 남아 있기 때문입니다. 아직 푸시하지 않은 마지막 커밋이면 git rm –cached 와 git commit –amend -CHEAD 로 고치고, 예전 커밋이면 git filter-repo 로 기록에서 지워야 합니다.
Q. GitHub 푸시할 때 암호를 넣었는데 실패합니다.
Git에서 계정 암호 인증이 제거됐기 때문입니다. 암호를 묻는 칸에 개인용 액세스 토큰을 넣거나 SSH 키를 등록해 써야 합니다. 1년 동안 쓰지 않은 토큰은 자동으로 지워집니다.
Q. GitHub 무료 계정의 Actions 시간은 얼마인가요?
공개 저장소는 표준 러너가 무료이고, 비공개 저장소는 월 2,000분입니다. 실패한 실행도 실행된 시간만큼 빠지며, 결제 수단이 없으면 할당량을 다 쓴 뒤 다음 달 초까지 사용이 막힙니다.
Q. GitHub 2단계 인증 기기를 잃어버렸어요.
로그인 화면의 추가 옵션에서 복구 코드를 입력하면 바로 들어갈 수 있습니다. 코드가 없으면 계정 복구를 시작해 메일 인증 후 이전 기기, SSH 키, 개인용 액세스 토큰 중 하나로 본인 확인을 하고 지원팀 검토를 기다려야 합니다.
GitHub를 쓰다 막히면 먼저 파일 크기를 보세요. 50MiB가 넘으면 경고, 100MiB가 넘으면 푸시가 거부되고 웹 업로드는 25MiB까지입니다. 큰 파일은 지워도 이전 커밋에 남아 있으면 계속 막히므로 기록에서 제거해야 하고, 배포용 파일은 커밋 대신 릴리스에 첨부하는 것이 공식 방법입니다. 무료 계정은 비공개 저장소에서 Actions 월 2,000분, 아티팩트와 Packages 합쳐 500MB, Git LFS 저장공간과 대역폭 각 10GiB를 쓰고, 결제 수단이 없으면 다 쓴 순간 사용이 막힙니다. Pages는 무료 플랜에서 공개 저장소에서만 켜집니다. Git 명령에는 계정 암호 대신 개인용 액세스 토큰을 넣고, 기여 계정은 2단계 인증을 켜야 하며, 복구 코드 파일은 기기와 다른 곳에 보관해 두세요.