강잇
강이의 개발블로그
강잇
전체 방문자
오늘
어제
  • 분류 전체보기 (102)
    • Langauge (32)
      • Java-basic (29)
      • Java (3)
    • SpringBoot (7)
    • Algorithm (5)
      • BAEKJOON (5)
    • WEB (7)
      • HTML & CSS (7)
    • DB (1)
      • MySQL (1)
    • OS (17)
      • Mac (2)
      • Linux (4)
      • Terminal Command (11)
    • Computer Science (7)
      • Hard ware (1)
      • Database (1)
      • Data structure (2)
      • Algorithm (2)
      • Network (1)
    • Git (5)
      • 개념 (1)
      • 활용 (1)
      • Trouble Shooting (2)
    • ETC. (13)
      • Install (6)
      • IntelliJ (1)
      • Eclipse (2)
      • Error (3)
      • Tip (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바
  • til
  • 메소드
  • 알고리즘 공부
  • CSS 속성
  • 메서드
  • 백준
  • CSS 박스 크기 설정

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
강잇

강이의 개발블로그

[Trouble Shooting] git pull - merge 실패 "fatal: Need to specify how to reconcile divergent branches."
Git/Trouble Shooting

[Trouble Shooting] git pull - merge 실패 "fatal: Need to specify how to reconcile divergent branches."

2022. 11. 19. 22:54

발생

작업 공용 브랜치 dev-be로부터 작업할 브랜치를 생성 후 작업함.

작업 후 커밋하기전 dev-be의 작업 전 버전과 작업 후 버전이 차이가 있는 상황.

로컬에서 최신 dev-be를 pull한 다음 충돌나는 부분을 해결 후 커밋하려고 했는데, pull하는 과정에서 아래와 같은 이슈가 발생함.

원인

You have divergent branches and need to specify how to reconcile them.
fatal: Need to specify how to reconcile divergent branches.

현재 Local의 dev-be 버전과 Remote의 dev-be의 버전(분기)가 달라 pull할 때 merge가 되어야 하는데

pull 전략이 따로 지정되어 있지 않아 위와 같은 에러가 발생한 듯 하다. (git 2.27부터 새로 추가된 기능)

해결

오류 내용을 살펴보면 hint로 설정을 바꾸는 방법이 나와있다.

전략은 3개 제시해줬으며 다음과 같다.

hint: git config pull.rebase false # merge
hint: git config pull.rebase true # rebase 
hint: git config pull.ff only # fast-forward only

위의 전략에 대한 설명을 찾아보고 현재 글에 담고 싶었으나.. 간단 명료하게 담기에는 꽤 깊은 내용들이라 나중에 블로깅을 하기로 했다...

일단은 merge전략을 사용하려고 한다.

merge전략은 새로운 브랜치가 있을 경우 3-way-merge를 아니라면 fast-forward로 브랜치를 병합해준다.

git config --global pull.rebase false // 전역으로 설정할 경우
git config pull.rebase false // 현재 폴더 기준으로 설정

 

나는 전역으로 설정하기 위해 git config --global pull.rebase false를 사용했다.

설정 후 pull 명령어 재실행

Automatic merge failed; fix conflicts and then commit the result.

pull을 재실행하니 여러 개의 파일이 pull 되며 마지막에 위와 같은 메세지가 뜬다.

메세지를 따라서 충돌난 코드를 수정하여 다시 커밋하였고 오류는 해결됐다~!

저작자표시 (새창열림)

'Git > Trouble Shooting' 카테고리의 다른 글

[Trouble Shooting] error: Your local changes to the following files would be overwritten by merge:  (0) 2022.11.10
    'Git/Trouble Shooting' 카테고리의 다른 글
    • [Trouble Shooting] error: Your local changes to the following files would be overwritten by merge:
    강잇
    강잇
    학습한 내용을 정리 및 기록하는 블로그

    티스토리툴바