1. 개요

Git의 Fork 기능을 활용해 원본 저장소를 내 계정으로 가져오고, 새로운 브랜치를 만들어 작업하는 실습을 했습니다.

하지만 브랜치를 생성하려는 순간 fatal 에러가 발생하며 작업이 중단되었습니다.
이 글에서는 발생한 문제 상황을 분석하고 기록하여 향후 동일한 상황에서 참고할 수 있도록 합니다.


2. 문제상황

GitHub 원격 저장소를 로컬 환경으로 가져오기 위해 git clone 명령어를 실행했습니다.

git clone https://github.com/octocat/Hello-World.git

 

정상적으로 클론은 완료되었지만, 복제 후 바로 상위 폴더에서 새로운 브랜치를 생성하려고 시도했을 때 다음과 같은 에러가 발생했습니다.

fatal: (현재 폴더 또는 상위 폴더 중 일부가) 깃 저장소가 아닙니다: .git

3.  원인 분석

3-1. 에러 메시지의 의미

  • Git은 .git 폴더가 존재하는지 여부를 기준으로 해당 디렉토리를 Git 저장소로 판단합니다.
  • .git 폴더가 없으면, Git은 브랜치 생성, 커밋, 로그 조회 등 모든 명령을 실행할 수 없으며, fatal 에러를 발생시킵니다.
  • 이번 경우, 브랜치를 생성하려는 위치에 .git 폴더가 존재하지 않았기 때문에 에러가 발생한 것입니다.

3-2. 에러 발생 과정

  1. git clone 명령을 실행하면, Git은 원격 저장소 전체를 복제하고 새로운 폴더를 생성합니다.
    • 예를 들어 Hello-World라는 저장소를 클론하면, 로컬에 Hello-World 폴더가 생성되고 그 안에 .git 폴더가 포함됩니다.
    • 이 .git 폴더 안에는 커밋 기록, 브랜치 정보, 원격(remote) 정보 등 Git이 필요로 하는 모든 데이터가 들어 있습니다.
  2. 문제는 클론 후 상위 폴더에 머물러 있는 상태에서 브랜치를 생성하려고 시도한 점입니다.
    • 상위 폴더에는 .git 폴더가 존재하지 않으므로 Git은 “여기는 Git 저장소가 아니다”라고 판단하고 fatal 에러를 반환했습니다.

즉, 에러의 핵심 원인은 Git 명령어 실행 위치가 잘못되었다는 점입니다.


해결 방법

1. 클론 후 생성된 폴더로 이동합니다.

cd Hello-World
  • 이제 현재 디렉토리가 .git 폴더를 포함한 로컬 Git 저장소를 사용합니다.

2. 폴더 내부에서 새로운 브랜치 생성

git branch myBranch
  • 이후 브랜치에서 작업을 진행하면 정상적으로 커밋, 푸시, PR 생성 등 모든 Git 명령을 수행할 수 있습니다

+ Recent posts