개요:
처음 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 저장소를 초기화합니다.
코드 복사
cd C:\projects\YourProjectFolder git init
이 명령으로 해당 폴더에 .git 디렉토리가 생성되며, Git이 이 폴더를 버전 관리 대상으로 인식하게 됩니다.
3. 변경 사항 스테이징 및 커밋
처음에는 untracked files가 존재할 것입니다. 이를 Git에 등록(스테이징)하고 커밋(commmit)합니다.
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)를 추가합니다.
git remote add origin https://github.com/username/my-first-project.git
주의: username 부분은 실제 GitHub 아이디로 변경해야 합니다.
6. 메인 브랜치(main) 설정 및 푸시
최근 GitHub 기본 브랜치는 main을 사용하므로 로컬 브랜치도 main으로 통일합니다.
git branch -M main git push -u origin main
이 명령으로 로컬 main 브랜치를 GitHub 원격 main 브랜치에 올리고, 앞으로 git push 실행 시 자동으로 해당 브랜치와 연동됩니다.
7. 자주 발생하는 에러 및 해결 방법
- remote: Repository not found 에러
- 원인: GitHub에 만든 리포지토리 이름과 URL이 일치하지 않거나 리포지토리가 없는 경우
- 해결: GitHub에서 실제로 해당 이름으로 리포지토리를 생성했는지 확인하고, URL을 정확히 사용하세요.
- src refspec main does not match any 에러
- 원인: 로컬 브랜치 이름이 main이 아니라 master이거나, 아직 커밋이 없는 경우
- 해결: git branch -M main 명령으로 브랜치 이름을 변경한 뒤 커밋을 만든 다음 푸시합니다.
- Authentication / Permission Issues
- 원인: GitHub에 인증되지 않음
- 해결: Git Credential Manager를 통해 GitHub 로그인, 또는 Personal Access Token을 발급받아 push 시 계정명과 토큰을 입력합니다.
- Everything up-to-date 메시지
- 모든 로컬 변경사항이 원격에 반영되어 더 이상 푸시할 내용이 없을 때 나오는 정상적인 메시지입니다.
8. 성공 확인
브라우저에서 GitHub 리포지토리 페이지를 새로고침하면 로컬의 코드가 업로드된 것을 확인할 수 있습니다. 이제 변경사항을 커밋한 뒤 git push 명령을 통해 쉽게 업데이트를 반영할 수 있습니다.
정리:
위 과정을 통해 로컬 프로젝트를 GitHub에 올리는 기본 흐름과 자주 발생하는 에러 해결 방법을 익혔습니다. 처음에는 생소한 오류 메시지들에 당황할 수 있지만, 차근차근 원인을 파악하고 수정하면 깔끔하게 레포지토리를 관리할 수 있습니다. 이제부터는 버전 관리를 통해 프로젝트 변경 기록을 체계적으로 남기고, 협업 시에도 원활한 코드 공유가 가능해질 것입니다.