2026.07.22

[Git 기초] GitHub Pages로 리액트 배포하기

gh-pages 패키지로 React 프로젝트를 GitHub Pages에 배포하는 전체 과정을 단계별로 정리합니다.

gh-pages
git
github
github-pages
react
vite
배포
정적배포
프론트엔드개발
[Git 기초] GitHub Pages로 리액트 배포하기

Vite에서 gh-pages로 배포하기

코드를 완성했으면 이제 세상에 내보낼 차례입니다. GitHub Pages는 별도 서버 없이 GitHub 저장소만 있으면 무료로 정적 웹사이트를 배포할 수 있는 서비스입니다. gh-pages 패키지 하나면 터미널 명령어 한 줄로 배포까지 끝낼 수 있습니다.


01. 사전 준비

배포 전에 아래 두 가지가 준비되어 있어야 합니다.

  • GitHub 계정과 원격 저장소(remote repository) 연결 완료
  • React + Vite 프로젝트

Info

아직 원격 저장소를 연결하지 않았다면, GitHub에서 새 레포지토리를 만든 뒤 git remote add origin [레포 주소]로 연결하세요.


02. gh-pages 설치

터미널에서 아래 명령어로 gh-pages 패키지를 개발 의존성으로 설치합니다.

bash
npm install gh-pages --save-dev

설치 후 package.json의 devDependencies에 gh-pages가 추가된 것을 확인하세요.

이미지


03. vite.config.ts 설정

Vite 프로젝트는 배포 경로를 맞춰주기 위해 base 옵션을 추가해야 합니다.

ts
// vite.config.ts
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
 
export default defineConfig({
  plugins: [react()],
  base: "/저장소이름/",
});

주의

base에 입력하는 값은 GitHub 저장소 이름과 정확히 일치해야 합니다. 대소문자도 구분합니다.


04. package.json 스크립트 추가

package.json에 homepage와 배포 스크립트를 추가합니다.

json
{
  "homepage": "https://깃허브아이디.github.io/저장소이름",
  "scripts": {
    "predeploy": "npm run build",
    "deploy": "gh-pages -d dist"
  }
}

Tip

predeploy는 deploy 실행 전에 자동으로 먼저 실행됩니다. 빌드 → 배포가 명령어 한 줄로 처리되는 구조입니다.


05. 배포 실행

설정이 완료되면 아래 명령어 하나로 배포합니다.

bash
npm run deploy

배포가 성공하면 터미널에 Published가 출력되고, GitHub 저장소에 gh-pages 브랜치가 자동으로 생성됩니다.


06. GitHub Pages 설정 확인

GitHub 저장소의 Settings > Pages > Branch에서 gh-pages 브랜치가 선택되어 있는지 확인합니다.

이미지

Info

처음 배포 직후에는 사이트가 뜨기까지 1~2분 정도 걸릴 수 있습니다. 준비되면 https://깃허브아이디.github.io/저장소이름 주소로 접속할 수 있습니다.


정리

한 번 세팅해두면 이후에는 npm run deploy 한 줄로 끝납니다. 수정사항이 생기면 코드를 변경하고 다시 실행하면 자동으로 빌드 후 배포됩니다.