본문 바로가기
DevOps/Git

[해결 방법] fatal: not a git repository (or any of the parent directories): .git

by HJ0216 2023. 1. 15.

발생 Error

Git Bash에서 다음 명령어를 입력할 경우,

git ls-files

 fatal: not a git repository (or any of the parent directories): .git

Error 발생

 

 

Error 원인

Git Bash가 실행된 폴더에 git에 대한 정보를 담은 파일이 없기 때문에 발생

 

Git Bash를 Window 검색창에서 실행시켜서 .git 폴더에 대한 탐색이 Local C\user\사용자명에서 일어난 것으로 추정

(추후, init으로 인해 .git 폴더가 Local C\user\사용자명에 생성되었으므로 위와 같이 추정)

 

 

해결 방법

git init
git remote add origin repository_url

git init을 통해 Git 저장소를 생성(초기화)하기

-> .git이라는 하위 폴더를 생성해서 해당 폴더를 git으로 관리할 수 있게 해줌

-> 작업이 필요한 곳에서 init 명령을 실행함으로써 현재 디렉토리에서 작업 및 버전 관리를 진행하겠다고 git에게 알려주는 기능

 

git remote add origin repository_address(Github 레포지토리 주소)를 입력해서 해당 repository를 local PC에 생성시킴

-> origin이라는 이름의 저장소(repository_address)를 추가

-> 원격저장소의 주소를 직접 입력하는 대신 origin이라는 이름을 사용할 수 있음

(⭐ git bash 명령어: 복사(ctrl+Insert), 붙여넣기(shift+Insert))

 

➕ 원격 저장소에서 데이터 가져오기: pull & fetch & clone

pull: 원격 저장소의 소스를 가져오고 해당 소스가 현재 내 소스보다 최신 버전일 경우, 지금의 버전을 해당 소스에 맞춰 올림, merge 명령어를 사용

: 원격 저장소에서 fetch 명령어로 가져온 후, merge까지 한 번에 수행하는 명령얼 실제 파일의 내용이 변경됨

git pull origin(remote_name) master(branch_name)

 

fetch: 원격 저장소에서 소스를 가져올 뿐 merge는 하지 않음

git fetch remote_name

 

clone: 원격 저장소에서 프로젝트를 가져오는 역할로 로컬 저장소와 원격 저장소의 내용을 일치시킴

git clone remote_url

 

victolee님의 티스토리 git 명령어 포스팅 일부 발췌

 

 

 

참고 자료

📑 [해결방법] fatal: not a git repository (or any of the parent directories): .git

📑 Git Init/Add

📑 2.5 Git의 기초 - 리모트 저장소

📑 [git] git을 이용한 버전관리 - 기본편 (remote, push, pull, fetch, clone) with github

📑 [Git] git pull 소개와 git clone과의 차이점

📑 [Git] 명령어(2) - remote, push, clone, pull