Study Notes

포트폴리오 배포 준비 ① ㅡ GitHub 업로드까지 (Windows / Cursor)

callmeVANTA 2026. 1. 30. 12:50

0. 요약

로컬에서 만든 Next.js 포트폴리오 프로젝트를 GitHub에 업로드하는 과정과,
그 과정에서 막혔던 포인트들을 정리한다.

1. 개발 환경
2. GitHub 가입 & 저장소 생성
3. 로컬 프로젝트를 GitHub에 올리기
	3-1. Git 설치 (Windows에서 필수)
    	1) 에러: Git 미설치
    3-2. Git으로 프로젝트 관리 시작하기
    	1) Git 초기화
        2) 파일을 커밋 대상으로 등록
        3) 첫 번째 커밋 생성
        4) 에러: 커밋이 안 될 때 (Author identity unknown)
    3-3. GitHub 저장소와 연결
    	1) 기본 브랜치 이름을 main으로 통일
        2) GitHub 저장소 연결
    3-4. GitHub로 업로드(push)
    	1) 업로드
    	2) 에러: src refspec main does not match any
    	3) 에러: 이메일 프라이버시(GH007)
4. 최종 완료 체크사항 / 결과

1. 개발 환경

  • OS: Windows
  • 에디터: Cursor
  • 프레임워크: Next.js (app router)
  • GitHub: 신규 가입

2. GitHub 가입 & 저장소 생성

  • GitHub 회원가입/로그인
  • Creat New repository
    • Repository name: portfolio
  • GitHub는 코드를 올려두는 원격 저장소
  • 로컬 프로젝트를 올리려면 **빈 저장소(repo)**가 먼저 필요함

3. 로컬 프로젝트를 GitHub에 올리기

  • 프로젝트 폴더에서 실행
  • 전체 명령어
git init
git add .
git commit -m "init portfolio"
git branch -M main
git remote add origin <깃허브 주소>
git push -u origin main
  • 최종 완료: GitHub 웹에서 새로고침했을 때 파일들이 보인다

 

3-1. Git 설치 (Windows에서 필수)

pwd // 지금 터미널이 어느 폴더를 보고 있는지 확인
git --version // Git이 설치/인식되는지 확인

1) 에러: Git 미설치

'git' 용어가 cmdlet 또는 실행할 수 있는 프로그램으로 인식되지 않음
  • 무작정 "get init"을 쳤다가 에러를 맞닥뜨리고 설치했다..

원인

  • Git이 PC에 설치되어 있지 않음

해결

  • Git for Windows 설치
  • 설치 후 터미널 재시작

확인 명령어

git --version

Git이 정상 설치/인식되는지 확인하는 명령어
버전 숫자가 나오면 설치 완료


3-2. Git으로 프로젝트 관리 시작하기

1) Git 초기화

git init

의미

  • 이 폴더를 Git으로 관리하겠다고 선언
  • .git 폴더가 생성됨

2) 파일을 커밋 대상으로 등록

git add .

의미

  • 현재 폴더 안의 모든 변경 파일을 저장(커밋) 후보로 올림
  • . 은 “전체”라는 뜻
  • 올릴 파일 상태 확인하고 싶으면: git status

3) 첫 번째 커밋 생성

git commit -m "init portfolio"

의미

  • 지금 상태를 하나의 버전(스냅샷)으로 저장
  • -m은 메시지(message) 옵션

4) 에러: 커밋이 안 될 때 (Author identity unknown)

Author identity unknown
Please tell me who you are.

원인

  • Git이 “이 코드를 누가 만들었는지(작성자 이름/이메일)” 모름

해결 (한 번만 설정)

git config --global user.name "bysumcookies"
git config --global user.email "bysumcontact@gmail.com"

의미

  • 모든 Git 커밋에 사용할 작성자 정보 설정
  • --global → 이 PC 전체에 적용
  • 그리고 다시:
git commit -m "init portfolio"


3-3. GitHub 저장소와 연결

1) 기본 브랜치 이름을 main으로 통일

git branch -M main

의미

  • 기본 브랜치를 main으로 변경
  • GitHub 기본 브랜치 이름과 맞추기 위함

2) GitHub 저장소 연결

git remote add origin https://github.com/아이디/레포이름.git

의미

  • origin이라는 이름으로
    GitHub 원격 저장소 주소를 등록
  • 확인: 
git remote -v
  • origin 주소가 보이면 완료

3-4. GitHub로 업로드(push)

1) 업로드

git push -u origin main

의미

  • 로컬의 main 브랜치를
  • GitHub(origin)의 main 브랜치로 업로드
  • -u 옵션은 이후부터 git push만 쳐도 되게 설정

2) 에러: src refspec main does not match any

원인: 커밋이 없어서(main 브랜치에 올릴 게 없음)
해결:

  • git add . → git commit -m "init portfolio" 먼저 성공시킨 뒤 다시 push
  • 커밋 실패 상태였는데 모르고 계속 진행해서 에러가 나옴
  •  

3) 에러: 이메일 프라이버시(GH007)

GH007: Your push would publish a private email address

원인

  • 커밋에 개인 이메일이 포함되어 있어서
  • GitHub가 푸시를 차단

해결

  1. GitHub에서 noreply 이메일 확인
  2. Git 설정 변경
git config --global user.email "12345678+아이디@users.noreply.github.com"

3. 기존 커밋 수정

git commit --amend --no-edit --reset-author

4. 다시 푸시

git push -u origin main

4. 최종 완료 체크사항 / 결과

  • GitHub 레포 새로고침했을 때 파일들이 보인다
  • GitHub 저장소에 코드 업로드 완료
  • 다음 단계: Vercel을 이용한 배포