GitHub Pages 처음부터 공개까지: 저장소·HTML 업로드·주소·404 해결

이 글에서 먼저 결정할 것

독자 질문: 이 AI 기능이나 방법을 실제 업무에 적용할 때 무엇을 확인해야 할까?

첫 답변: 기능을 바로 믿고 맡기기보다 입력 범위·권한·결과·사람 검수·실패 복구를 정한 뒤 작은 비식별 예시로 확인하는 것이 먼저다.

판단 기준: 공식 기능 사실, 합성 입력·출력, 사람의 검수 기준, 권한·보안 한계를 분리한다.

Work N Rich 재현 워크시트

이 워크시트는 사실을 다시 요약하는 칸이 아니라, 독자가 자기 상황의 입력·검수·다음 행동을 기록하는 칸이다.

단계 기록할 내용
입력 실제 회사자료 대신 비식별·합성 업무 자료를 넣고, 입력하지 않은 정보는 무엇인지 적는다.
결과 AI가 만든 결과에서 사실·추정·누락을 나누어 기록한다.
사람 확인 사실 오류·권한·개인정보·업무 책임을 사람이 확인할 기준을 적는다.
실패 복구 오류가 나면 중지할 행동, 원문으로 되돌아갈 방법, 다시 시도할 조건을 적는다.

이번 개편에서 추가로 확인할 증거

  • 독자용 증거 자산: 비식별 합성 입력 + 권한/실패 검수
  • 개편 공백: 합성 입력 → 결과 → 사람의 확인 → 실패 복구 흐름 추가

GitHub에 처음 가입한 직장인이 가장 자주 막히는 지점은 코딩이 아닙니다. Repository, Commit, Branch, Pages라는 네 단어가 서로 어떻게 이어지는지 한 화면에서 보이지 않는 것이 문제입니다. 그래서 이 글은 가입 설명, 저장소 만들기, HTML 업로드, Pages 설정, 주소 규칙을 네 편으로 나누지 않고 하나의 완주 흐름으로 묶었습니다.

완료 기준은 네 가지입니다.

  • 내 저장소에 index.html이 보인다.
  • 변경 기록에 첫 커밋이 남는다.
  • Settings → Pages에서 배포 소스를 선택한다.
  • https://아이디.github.io/저장소이름/ 주소에서 실제 화면을 확인한다.

이 글은 2026년 7월 11일 GitHub 공식 문서를 기준으로 검증했습니다. GitHub 화면의 버튼 위치나 문구는 바뀔 수 있지만, 저장소 생성 → 파일 커밋 → Pages 배포 소스 선택 → 공개 주소 확인이라는 구조는 같습니다.

확인 기준일: 2026-07-11

아래 흐름도는 이 글의 실행 순서와 404가 날 때의 첫 점검 항목을 한 장으로 만든 Work N Rich 원본 자료입니다.

GitHub Pages 저장소 생성부터 공개 주소 확인까지 네 단계와 404 점검 흐름

먼저 결정할 것: 사용자 사이트인가, 프로젝트 사이트인가

GitHub Pages 주소는 두 종류입니다. 이 구분을 모르고 시작하면 저장소 이름과 예상 주소가 어긋납니다.

구분 저장소 이름 기본 주소 추천 상황
사용자 사이트 아이디.github.io https://아이디.github.io/ 개인 대표 홈페이지 하나를 만들 때
프로젝트 사이트 원하는 저장소 이름 https://아이디.github.io/저장소이름/ 강의 소개, 포트폴리오, 행사 안내처럼 여러 페이지를 나눌 때

처음 연습한다면 프로젝트 사이트가 관리하기 쉽습니다. 예를 들어 아이디가 goodteacher, 저장소가 ai-class-page라면 예상 주소는 https://goodteacher.github.io/ai-class-page/입니다. 반대로 계정 대표 사이트 하나가 목적이라면 저장소 이름을 정확히 goodteacher.github.io로 만듭니다.

1단계: 공개해도 되는 파일인지 먼저 검사합니다

GitHub Pages는 웹사이트입니다. 공개 저장소에 올린 파일은 다른 사람이 저장소에서도 볼 수 있습니다. 아래 항목이 하나라도 들어 있다면 업로드 전에 제거해야 합니다.

올리면 안 되는 정보 왜 위험한가 안전한 대체 방법
비밀번호·API 키·토큰 계정이나 유료 API가 탈취될 수 있음 환경변수나 서버 측 비밀 저장소 사용
고객 이름·전화번호·이메일 개인정보 노출 가상 예시 데이터로 교체
회사 내부 문서·매출 자료 영업비밀 노출 공개 가능한 요약본만 사용
유료 이미지 원본 라이선스 위반 가능 직접 제작하거나 공개 허용 자산 사용
로그인 기능이 필요한 자료 정적 사이트만으로 보호되지 않음 별도 인증 서비스 사용

HTML에 키가 보이지 않더라도 JavaScript 파일이나 이미지 메타데이터에 남아 있을 수 있습니다. 업로드 폴더 전체를 한 번 확인하는 습관이 중요합니다.

2단계: 저장소 이름과 공개 범위를 정합니다

GitHub의 현재 저장소 생성 안내에 따르면 오른쪽 위 새로 만들기 메뉴에서 New repository를 선택하고, 소유자·이름·설명·공개 범위를 정한 뒤 저장소를 만듭니다.

초보자용 설정표는 다음과 같습니다.

항목 권장 입력 판단 기준
Owner 본인 계정 조직 계정은 생성 권한이 있어야 함
Repository name ai-class-page처럼 짧은 영어 주소 뒷부분에 그대로 들어갈 수 있음
Description 페이지 목적을 한 문장으로 나중에 저장소를 찾기 쉬움
Visibility 실습용이면 Public GitHub Free의 Pages는 공개 저장소에서 사용 가능
README 선택 빈 저장소보다 첫 화면을 이해하기 쉬움

저장소 이름은 test, final-final, new-page-2026-real보다 목적이 드러나는 portfolio, training-page, career-guide가 낫습니다. 공개 링크를 소리 내어 읽었을 때 설명하기 쉬운 이름이면 충분합니다.

3단계: 바로 쓸 수 있는 index.html을 준비합니다

아래 코드는 외부 라이브러리 없이 작동하는 최소 시작 파일입니다. 메모장이나 Visual Studio Code에 붙여 넣고 UTF-8로 저장하세요. 파일명은 index.html로 정확히 적습니다. index.html.txt가 되지 않도록 Windows 파일 확장명 표시를 켜는 것이 안전합니다.

<!doctype html>
<html lang="ko">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>나의 첫 GitHub Pages</title>
  <style>
    body { max-width: 720px; margin: 64px auto; padding: 0 20px; font-family: system-ui, sans-serif; line-height: 1.7; }
    .card { padding: 24px; border: 1px solid #d0d7de; border-radius: 16px; background: #f6f8fa; }
    a { color: #0969da; }
  </style>
</head>
<body>
  <main class="card">
    <p>배포 확인용 페이지</p>
    <h1>GitHub Pages 연결 성공</h1>
    <p>이 문장이 보이면 저장소, index.html, Pages 설정이 모두 연결된 것입니다.</p>
    <a href="https://docs.github.com/pages">GitHub Pages 공식 문서</a>
  </main>
</body>
</html>

이 파일에는 일부러 세 가지 확인 장치를 넣었습니다.

  • <meta charset="utf-8">: 한글 깨짐을 줄입니다.
  • viewport 메타: 휴대전화 화면 폭에 맞춥니다.
  • GitHub Pages 연결 성공: 배포된 파일이 새 파일인지 즉시 구분합니다.

아래 화면은 위 코드를 별도 파일로 저장해 Chrome에서 직접 렌더링한 결과입니다. 실제 공개 주소에서도 같은 성공 문구가 보여야 합니다.

샘플 index.html을 Chrome에서 렌더링한 GitHub Pages 연결 성공 화면

4단계: 브라우저에서 파일을 업로드하고 커밋합니다

GitHub의 파일 추가 안내 기준 흐름은 저장소 메인 → Add file → Upload files → 파일 선택 → 변경 설명 → 커밋입니다.

순서 화면에서 할 일 성공 확인
1 방금 만든 저장소로 이동 저장소 이름이 화면 위에 보임
2 Add file에서 Upload files 선택 파일 선택 영역이 열림
3 index.html을 끌어 놓거나 선택 업로드 목록에 파일명이 보임
4 변경 설명에 Add starter index page 입력 무엇을 바꿨는지 기록됨
5 Commit changes 또는 Propose changes 선택 저장소 파일 목록에 index.html이 보임

버튼이 Commit changes가 아니라 Propose changes로 보일 수 있습니다. 저장소의 브랜치 보호나 현재 권한에 따라 흐름이 달라지기 때문입니다. 본인이 만든 단순 실습 저장소라면 기본 브랜치에 바로 커밋할 수 있는 경우가 많고, 보호 규칙이 있으면 새 브랜치와 Pull Request가 필요할 수 있습니다.

브라우저 업로드는 파일당 25MiB, 한 번에 100개 파일 제한이 있습니다. 더 큰 파일은 명령줄이나 Git LFS가 필요합니다. 그러나 첫 index.html 하나에는 이 제한이 문제가 되지 않습니다.

5단계: Settings에서 Pages를 켭니다

GitHub Pages 빠른 시작의 현재 흐름은 다음과 같습니다.

설정 위치 선택 의미
저장소 상단 Settings 저장소 설정으로 이동
왼쪽 Code and automation Pages 웹사이트 배포 설정
Build and deployment / Source Deploy from a branch 브랜치의 정적 파일을 배포
Branch main 또는 실제 기본 브랜치 어느 브랜치를 공개할지 선택
Folder /(root) 저장소 최상위의 index.html 사용
마지막 Save 배포 설정 확정

Settings가 안 보이면 상단 메뉴의 더보기에서 찾습니다. Branch 목록이 None만 보인다면 먼저 index.html을 커밋했는지 확인하세요. 커밋이 있어야 기본 브랜치가 생깁니다.

설정을 저장한 뒤 주소가 즉시 열리지 않아도 실패로 단정하지 않습니다. GitHub는 변경 사항 게시에 최대 10분이 걸릴 수 있다고 안내합니다.

6단계: 예상 주소를 먼저 계산합니다

주소를 기다리는 동안 저장소 유형으로 예상 주소를 계산할 수 있습니다.

입력 예시
GitHub 아이디 goodteacher
저장소 이름 ai-class-page
사이트 유형 프로젝트 사이트
예상 주소 https://goodteacher.github.io/ai-class-page/

사용자 사이트라면 저장소 이름을 goodteacher.github.io로 만들고 주소는 https://goodteacher.github.io/가 됩니다. 프로젝트 사이트에는 저장소 이름이 경로로 붙습니다. 이 차이가 404를 진단할 때 매우 중요합니다.

7단계: 404가 나면 이 순서로만 확인합니다

무작정 설정을 반복 저장하면 원인을 놓칩니다. 아래 순서를 위에서 아래로 한 번씩 확인하세요.

증상 먼저 확인할 것 고치는 방법
주소 전체가 404 주소 유형 프로젝트 사이트라면 /저장소이름/까지 입력
Pages에 Branch가 없음 첫 커밋 index.html을 올리고 커밋 완료
주소는 열리지만 빈 화면 파일 내용 index.html의 본문과 태그 닫힘 확인
한글이 깨짐 문자 인코딩 UTF-8 저장과 charset 메타 확인
CSS·이미지만 깨짐 절대경로 / 사용 프로젝트 사이트에서는 상대경로 ./부터 점검
변경이 반영되지 않음 배포 시간·캐시 최대 10분 기다리고 강력 새로고침
Settings가 안 보임 권한 본인 저장소인지, 조직 권한이 있는지 확인
업로드가 차단됨 비밀정보 감지 토큰·키를 제거하고 다시 업로드

특히 프로젝트 사이트에서 이미지 주소를 /image.png로 쓰면 계정 루트를 가리킬 수 있습니다. 같은 폴더의 이미지는 처음에 ./image.png처럼 상대경로로 두는 편이 안전합니다.

실제 입력값으로 하는 3분 사전 점검

아래 네 칸을 직접 채우면 실수가 크게 줄어듭니다.

질문 내 답
GitHub 아이디는 무엇인가
저장소 이름은 무엇인가
사용자 사이트인가, 프로젝트 사이트인가
예상 공개 주소는 무엇인가

그 다음 아래 완료 증거를 하나씩 확인합니다.

  • [ ] 저장소 파일 목록에서 index.html을 확인했다.
  • [ ] index.html을 눌렀을 때 방금 넣은 성공 문구가 보인다.
  • [ ] 커밋 기록에 변경 설명이 남아 있다.
  • [ ] Pages Source와 Branch를 선택하고 저장했다.
  • [ ] 예상 주소에서 성공 문구를 확인했다.
  • [ ] 휴대전화에서도 글자가 화면 밖으로 나가지 않는다.
  • [ ] 저장소 전체에서 비밀번호·토큰·개인정보가 없음을 재확인했다.

이 글이 합친 네 가지 질문

기존에는 가입과 첫 화면, 저장소와 HTML 업로드, Pages의 main 설정, URL 이름 규칙을 각각 다른 글로 설명했습니다. 하지만 실제 사용자는 네 글을 읽는 것이 목적이 아니라 한 번에 공개 주소를 얻는 것이 목적입니다. 이 글은 그 네 검색 의도를 한 실행 흐름으로 통합했습니다.

화면이 달라져도 다음 문장만 기억하면 됩니다.

공개할 수 있는 파일을 준비하고, 목적이 드러나는 저장소에 커밋한 뒤, Pages에서 그 브랜치를 배포 소스로 선택하고, 계산한 주소에서 결과를 확인합니다.

함께 읽으면 좋은 글

자주 막히는 질문

GitHub 가입 중 보안 확인이 나오면 잘못된 것인가요?

아닙니다. 자동 가입을 막기 위한 확인 절차가 나타날 수 있습니다. 화면은 시점과 환경에 따라 달라지므로 특정 게임 모양을 외우기보다 안내를 천천히 읽고, 가입 뒤 이메일 인증까지 완료하세요.

Public 저장소가 아니면 Pages를 못 쓰나요?

GitHub Free에서는 공개 저장소에서 Pages를 사용할 수 있습니다. 비공개 저장소의 Pages 사용 가능 여부는 요금제에 따라 다릅니다. 처음 실습은 공개 가능한 샘플 파일만 담은 Public 저장소가 가장 단순합니다.

저장소 이름을 나중에 바꿔도 되나요?

바꿀 수 있지만 프로젝트 사이트 주소도 달라질 수 있습니다. 이미 공유한 링크와 문서가 있다면 수정 비용이 생기므로, 공개 전에 짧고 의미 있는 이름을 확정하는 편이 좋습니다.

회사 자료를 잠깐 올렸다가 지우면 괜찮나요?

괜찮다고 볼 수 없습니다. Git 기록과 캐시에 남을 수 있습니다. 비밀번호나 고객정보를 올렸다면 파일 삭제만 하지 말고 해당 비밀을 즉시 폐기·교체하고, 조직의 보안 절차에 따라 이력을 정리해야 합니다.

확인한 공식 자료

함께 읽으면 좋은 글

한계와 업데이트

실제 회사 자료나 개인 정보로 검증한 경험을 의미하지 않는다. 기능·요금·권한은 계정 유형과 시점에 따라 달라질 수 있으므로 공식 문서와 조직 정책을 다시 확인한다. 이 글의 기준일과 공식 출처는 공개 전 다시 확인한다. 마지막 확인일: https://work-n-rich.com/github-repository-and-html-upload-guide/.

댓글 남기기