[Git] fatal: Could not read from remote repository 오류 해결 방법
ssh: Could not resolve hostname github.com:bohyunkang: nodename nor servname provided, or not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
오늘 아침 코딩 테스트 문제를 다 풀고 push를 했는데, 위와 같은 오류를 출력하면서 push가 진행이 되지 않았다.
뭔지 찾아보니 config에 remote repository가 잘못 설정되어있어 출력된 오류였다.
$ git remote -v
origin ssh://git@github.com:bohyunkang/coding-dojo.git (fetch)
origin ssh://git@github.com:bohyunkang/coding-dojo.git (push)
git remote -v 명령어로 remote를 확인해보니 아래와 같았다. 한눈에 봤을 때는 잘 연결이 되어 있는 거 같아 무슨 문제인지 바로 파악하기 힘들어 stackoverflow에 에러 메시지를 검색해보니 이 글에서 해답을 찾을 수 있었다.
$ git remote -v
origin git@github.com:bohyunkang/coding-dojo.git (fetch)
origin git@github.com:bohyunkang/coding-dojo.git (push)
이유는 즉, 앞에 ssh://가 붙으면서 생긴 문제여서 앞에 ssh://를 삭제하여 해결하였다.
✨ 삭제하는 방법
1. .git 폴더가 있는 디렉터리로 간다.
2. vi .git을 입력하고 enter를 친다.
3. 그럼 아래와 같은 화면이 터미널에 출력된다. 방향키를 움직여 config로 이동한 후 enter를 친다.
" ============================================================================
" Netrw Directory Listing (netrw v171)
" /Users/{디렉토리 이름}/.git
" Sorted by name
" Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$,\
" Quick Help: <F1>:help -:go up dir D:delete R:rename s:sort-by x:special
" ==============================================================================
../
./
hooks/
info/
logs/
objects/
refs/
COMMIT_EDITMSG
FETCH_HEAD
HEAD
ORIG_HEAD
config // ✨ <- 방향키로 움직여 여기로 이동 후 enter!
description
index
packed-refs
sourcetreeconfig
~
".git" is a directory
4. i를 눌러 insert 모드로 변경 후 config의 [remote "origin"] 부분의 url과 fetch url을 수정한다. (나의 경우는 ssh:// 제거)
// Before
[remote "origin"]
url = ssh://git@github.com:bohyunkang/coding-dojo.git
fetch = +refs/heads/*:refs/remotes/origin/*
pushurl = ssh://git@github.com:bohyunkang/coding-dojo.git
// After
[remote "origin"]
url = git@github.com:bohyunkang/coding-dojo.git
fetch = +refs/heads/*:refs/remotes/origin/*
pushurl = git@github.com:bohyunkang/coding-dojo.git
5. 수정을 완료했다면 esc 버튼을 누르고 :wq(저장하고 나오기)를 입력해 나온다.
6. 다시 push를 하면 정상 작동한다!
그동안 문제없었던 repository가 어쩌다 이렇게 된 건가? 하고 곰곰이 생각해보니 어제 Sourcetree에서 우클릭하고 '삭제'버튼을 누르려던 걸 모르고 SSH로 변환을 눌러버린 것! 사실 SSH로 변환하든, HTTPS로 변환하든 큰 문제는 없을 거라 생각해서 무시했었는데, 이거 때문인 걸 바로 깨닫고 수정하였다! 다음부터는 사소한 거 하나라도 지나치지 말자!💪