본문 바로가기

programming

[Git] 원격 브랜치 로컬pc로 가져와서 작업하기 ( + 에러 해결 fatal: Ambiguous object name: 'origin/tom_20211220_refreshTokenApply')

원격 레포지토리에 있는 브랜치를 로컬 PC로 가져와서 작업하기

 

1. remote branch 정보를 최신으로 업데이트하기 (master에서 진행)

git remote update

 

2. 어떤 브랜치를 가져올지 정확한 브랜치명 확인 (master에서 진행)

git branch -r

 

3. 원격 브랜치를 로컬로 가져오기 (master에서 진행)

git branch -t origin/tom_20211220_refreshTokenApply

 

4. 생성된 브랜치 확인

git branch

 

5. 생성된 브랜치로 이동

git checkout origin/tom_20211220_refreshTokenApply

 

6. 이동한 브랜치 다시한번 pull 확인

git pull origin tom_20211220_refreshTokenApply

 

정상 작동시 원격 저장소에 저장되어있던 브랜치와 같은 이름으로 로컬에 새로운 브랜치가 생성된다.

브랜치가 변경된 것 확인

 

 

 

** 에러케이스 **

$ git checkout -t origin/tom_20211220_refreshTokenApply
warning: refname 'origin/tom_20211220_refreshTokenApply' is ambiguous.
warning: refname 'origin/tom_20211220_refreshTokenApply' is ambiguous.
fatal: Ambiguous object name: 'origin/tom_20211220_refreshTokenApply'.

 

 

해결방안

다음과 같은 경우 해당 브랜치의 태그가 ref 리스트에서 중복되는 경우이다.

 

1. 먼저 정확한 브랜치명을 확인한다.

git show-ref

 

 

 

2. 다음과 같이 동일한 ref가 존재하여 풀네임을 명확하게 적어줘야한다.

git checkout -t refs/remotes/origin/tom_20211220_refreshTokenApply

 

브랜치로 변경된 것을 확인 할 수 있다.

 

필요한 작업을 진행하고, 수정된 내용을 push 하는 방법

 

3. 원격 브랜치에 push 하기

git add .
git commit
(커밋 메시지 작성)
git push origin tom_20211220_refreshTokenApply