본문 바로가기

카테고리 없음

GitHub에 로컬 프로젝트 업로드하기 - 문제 해결 과정 정리

 

개요:
처음 Git을 배우고 프로젝트를 GitHub에 업로드하려다 보면,

“remote repository not found”나 “src refspec main does not match any” 등 다양한 에러를 만나게 됩니다.

이 글에서는 로컬 프로젝트를 GitHub에 올리는 간단한 과정을 설명하고, 실제로 겪을 수 있는 에러 상황과 해결 방법을 정리하였습니다. Git에 익숙하지 않은 초보자라도 차근차근 따라가면 로컬 코드를 깔끔하게 GitHub에 업로드할 수 있습니다.


1. 기본 준비 사항

  • Git 설치:
    Git 공식 사이트에서 Git을 다운로드하고 설치합니다.
  • GitHub 계정 생성:
    GitHub에 가입 후 로그인합니다.
  • 프로젝트 폴더 준비:
    업로드할 코드가 있는 로컬 프로젝트 폴더를 준비합니다.

2. 로컬 Git 저장소 초기화
프로젝트 폴더로 이동 후 Git 저장소를 초기화합니다.

bash
 
코드 복사
cd C:\projects\YourProjectFolder git init

이 명령으로 해당 폴더에 .git 디렉토리가 생성되며, Git이 이 폴더를 버전 관리 대상으로 인식하게 됩니다.


3. 변경 사항 스테이징 및 커밋
처음에는 untracked files가 존재할 것입니다. 이를 Git에 등록(스테이징)하고 커밋(commmit)합니다.

bash
코드 복사
git add . git commit -m "Initial commit"
  • git add . : 현재 디렉토리 내 모든 변경사항을 스테이징
  • git commit -m "메시지" : 스테이징 영역의 변경사항을 하나의 버전으로 커밋

4. GitHub에 원격 리포지토리 생성
GitHub에 로그인한 뒤 "New" 버튼을 클릭해 새 리포지토리를 만듭니다.

  • Repository Name에 원하는 이름을 입력 (예: my-first-project)
  • “Create repository” 버튼 클릭

생성 완료 후 리포지토리 페이지의 HTTPS URL을 복사합니다. 예:
https://github.com/username/my-first-project.git


5. 로컬 Git 저장소에 원격 리포지토리 연결
복사한 URL을 사용해 원격 저장소(origin)를 추가합니다.

bash
코드 복사
git remote add origin https://github.com/username/my-first-project.git

주의: username 부분은 실제 GitHub 아이디로 변경해야 합니다.


6. 메인 브랜치(main) 설정 및 푸시
최근 GitHub 기본 브랜치는 main을 사용하므로 로컬 브랜치도 main으로 통일합니다.

bash
코드 복사
git branch -M main git push -u origin main

이 명령으로 로컬 main 브랜치를 GitHub 원격 main 브랜치에 올리고, 앞으로 git push 실행 시 자동으로 해당 브랜치와 연동됩니다.


7. 자주 발생하는 에러 및 해결 방법

  1. remote: Repository not found 에러
    • 원인: GitHub에 만든 리포지토리 이름과 URL이 일치하지 않거나 리포지토리가 없는 경우
    • 해결: GitHub에서 실제로 해당 이름으로 리포지토리를 생성했는지 확인하고, URL을 정확히 사용하세요.
  2. src refspec main does not match any 에러
    • 원인: 로컬 브랜치 이름이 main이 아니라 master이거나, 아직 커밋이 없는 경우
    • 해결: git branch -M main 명령으로 브랜치 이름을 변경한 뒤 커밋을 만든 다음 푸시합니다.
  3. Authentication / Permission Issues
    • 원인: GitHub에 인증되지 않음
    • 해결: Git Credential Manager를 통해 GitHub 로그인, 또는 Personal Access Token을 발급받아 push 시 계정명과 토큰을 입력합니다.
  4. Everything up-to-date 메시지
    • 모든 로컬 변경사항이 원격에 반영되어 더 이상 푸시할 내용이 없을 때 나오는 정상적인 메시지입니다.

8. 성공 확인
브라우저에서 GitHub 리포지토리 페이지를 새로고침하면 로컬의 코드가 업로드된 것을 확인할 수 있습니다. 이제 변경사항을 커밋한 뒤 git push 명령을 통해 쉽게 업데이트를 반영할 수 있습니다.


정리:
위 과정을 통해 로컬 프로젝트를 GitHub에 올리는 기본 흐름과 자주 발생하는 에러 해결 방법을 익혔습니다. 처음에는 생소한 오류 메시지들에 당황할 수 있지만, 차근차근 원인을 파악하고 수정하면 깔끔하게 레포지토리를 관리할 수 있습니다. 이제부터는 버전 관리를 통해 프로젝트 변경 기록을 체계적으로 남기고, 협업 시에도 원활한 코드 공유가 가능해질 것입니다.