[에러 일지] ... is not a commit and a branch

nemo·2023년 5월 17일
1

에러 일지

목록 보기
26/26

git 원격 저장소에 다른 개발자가 작업한 feature 브랜치를 가져오려고 git checkout -b feature/test1 origin/feature/test1 명령어를 사용했는데, 계속 아래 에러가 발생했다.

'origin/feature/test1' is not a commit and a branch 'feature/test1' cannot be created from it

로컬 브랜치를 해당 원격 브랜치를 추적하도록 아래 명령어를 사용해봤지만 추적하지 못했다.

git branch --set-upstream-to=origin/feature/test1 feature/test1

원인

기존 브랜치를 로컬에 clone할 때, --single-branch 옵션을 사용했기 때문이다. 보통은 아래 명령어로 브랜치를 clone할 것이다.

git branch -b {branch-name} --single-branch {저장소 URL}

해결 방법

--single-branch 옵션을 사용하면 특정 브랜치만 추적하기 때문에 원격 저장소의 다른 브랜치를 인식하지 못한다. 이 경우, 다른 원격 브랜치를 가져와야 한다면 몇 가지 추가적인 단계가 필요하다.

  1. 원격 저장소의 추적할 새 브랜치를 설정해준다.
    아래 명령어는 'origin' 원격 저장소의 'feature/test1' 브랜치를 추가하여 추적할 브랜치로 설정한다.
git remote set-branches --add origin feature/test1
  1. 원격 저장소를 추적할 수 있게 되었으니 fetch하여 내용을 가져온다.
git fetch origin
  1. 원격 브랜치를 로컬에서 추적할 수 있도록 한다.
    아래 명령어는 로컬에 새로운 브랜치를 만들고 해당 브랜치가 원격 브랜치를 추적하도록 설정한다.
git checkout --track origin/feature/test1

0개의 댓글