[Project] 2차 프로젝트 - 깃허브에만 있는 브랜치 가져오기, error: pathspec did not match any file(s) known to git

김호정's avatar
Oct 25, 2024
[Project] 2차 프로젝트 - 깃허브에만 있는 브랜치 가져오기, error: pathspec did not match any file(s) known to git
 
집에서 작업하면서 로컬에 user/join-check 브랜치를 만들었고, 작업 후 깃허브에 push 했다.
( → 아직 dev 브랜치에 merge 는 되지 않은 상태이다. )
 
그리고 다음날 학원에서 이어서 작업하기 위해서 dev 브랜치로 이동해서
 
git pull origin dev 를 해주었고, 이어서 git checkout user/join-check 를 하려고 하니까
 
notion image
 
error: pathspec 'user/join-check' did not match any file(s) known to git
 
이런 에러가 발생했다.
 
 
찾아보니
 
”이 에러 메시지는 user/join-check라는 브랜치가 원격 저장소(GitHub) 또는 로컬 저장소에서 현재 존재하지 않음을 의미합니다.
즉, Git이 해당 브랜치를 찾을 수 없다는 뜻입니다.”
 
 
→ 아직 원격 저장소에 생성된 브랜치가 로컬에 안 만들어져서 발생한 에러였다.
 
 
그래서 로컬의 dev 브랜치에서
 
  1. git fetch origin
  1. git checkout -b user/join-check origin/user/join-check
 
을 해주니 origin/user/join-check 을 트래킹해서 로컬에도 user/join-check 브랜치가 생겼다!
 
notion image
 
어제 집에서 user/join-check 브랜치에 push 한 내용도 현재 학원 로컬에 잘 받아져 있다.
 
 
 
도움 : 챗지피티
 
💡
현재 상황을 보면 1번 컴퓨터에서 user/join-check라는 브랜치를 만들고, GitHub에 푸시한 상태입니다. 그러나 2번 컴퓨터에서는 user/join-check라는 브랜치가 아직 로컬에 존재하지 않아서 checkout 명령어를 실행했을 때 "pathspec 'user/join-check' did not match any file(s) known to git"라는 에러가 발생한 것입니다.
이럴 때는 로컬에서 브랜치를 새로 만들 필요는 없습니다. 이미 GitHub에 user/join-check 브랜치가 존재하기 때문에, 로컬에 해당 브랜치를 가져오는 방법으로 해결할 수 있습니다.

해결 방법:

  1. 브랜치 목록을 업데이트하기 위해 아래 명령어를 사용하세요:
    1. git fetch origin
  1. 그리고 원격에 있는 브랜치를 체크아웃하면서 로컬에도 동일한 브랜치를 생성하려면, 다음 명령어를 사용하세요:
    1. git checkout -b user/join-check origin/user/join-check
이 명령어는 원격에 있는 user/join-check 브랜치를 로컬로 가져오고, 로컬에서도 동일한 브랜치로 체크아웃해줍니다. 이렇게 하면 로컬에도 동일한 브랜치가 생기고, 그 후부터는 해당 브랜치에서 작업할 수 있습니다.
이제 필요한 경우 git pull을 해서 최신 상태로 유지할 수 있습니다.
 
Share article

keepgoing