Dev/Git

로컬 브랜치에 원격 저장소 브랜치 Pull 오류 해결

싯벨트 2022. 11. 8. 11:33
728x90

#문제상황

  • 로컬 컴퓨터 2개 중 한 곳에서 코드 작업을 완료하고 깃헙 레포에 push 및 머지 진행
    • 로컬 2개에 모두 같은 이름의 브랜치 존재
    • push 하지 않은 로컬에 커밋 존재
  • git pull origin develop 진행
  • git checkout 브랜치 > git pull origin 브랜치 => 에러 발생
    • git pull origin 브랜치 -f => 동일한 에러 발생
    • git pull origin develop => 동일한 에러 발생

 

#문제해결

Pull 을 받으려는 다른 로컬 브랜치에 커밋이 존재하기 때문에 꼬인 것이 문제

해결은 로컬을 날리고 (상황에 따라) origin/브랜치 에서 가져옴

  • git branch -vv
    • 로컬 브랜치/ 커밋/ 대응되는 remote 브랜치/ 커밋 메시지 
    • git branch -v (--verbose)
      • 로컬 브랜치/ 커밋/ 커밋 메시지
  • git log --name-status
    • 수정된 파일 목록 + 파일 추가/수정/삭제 여부 

  • ls
  • git branch --vv
  • git status -s
    • 파일 상태 간략하게 보임

  • git checkout develop
  • git branch -vv
  • git branch -D 브랜치
    • 원격 저장소에 푸쉬 여부와 상관없이 로컬 브랜치 강제로 삭제
    • git branch -d 브랜치
      • 커밋이 있지만 원격 저장소에 push, merge 되지 않은 것은 삭제 불가능(안전하게 삭제)
  • git branch -vv
  • git remote show origin
    • 원격 저장소 살펴보기

  • git checkout --track origin/브랜치
    •  원격 저장소의 브랜치를 트래킹하는 로컬 브랜치 생성 및 이동

#참고자료

https://jolly-sally.tistory.com/4

https://git-scm.com/docs/git-branch

https://seonkyukim.github.io/git-tutorial/git-status/