ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Git] fatal: Could not read from remote repository 오류 해결 방법
    👩🏻‍💻 정리/Git 2022. 9. 19. 10:59
    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로 변환하든 큰 문제는 없을 거라 생각해서 무시했었는데, 이거 때문인 걸 바로 깨닫고 수정하였다! 다음부터는 사소한 거 하나라도 지나치지 말자!💪

    문제의 원인!!