본문 바로가기
여러가지/git

[Git] 깃 머지 충돌이 났을 때 나오는 메세지 의미

by 포스트it 2024. 3. 23.
728x90
반응형

[Git] 깃 머지 충돌이 났을 때 나오는 메세지 의미

깃을 푸시하는과정에서 아래와 같은 충돌 메세지가 나왔다.

깃에서 제공해주는 hint: 의 의미를 알아보자.

hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint: 
hint:   git config pull.rebase false  # merge
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint: 
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.

이 메시지는 Git에서 두 가지 이상의 브랜치가 서로 다른 커밋을 가지고 있을 때 나타납니다.

즉, 현재 브랜치와 리모트 브랜치 간에 발산이 있으며, 이를 해결하기 위해서는 어떻게 병합할지 명시해야 합니다.

여기에 제시된 세 가지 옵션은 각각 다른 병합 전략을 나타냅니다.

  1. git config pull.rebase false: 이 옵션은 'merge' 전략을 선택하는 것으로, Git에게 pull 명령을 실행할 때 리모트 변경 사항을 현재 브랜치의 끝에 병합하도록 지시합니다. 이는 리모트 브랜치의 커밋과 현재 브랜치의 커밋이 병합 커밋으로 결합되어 히스토리에 남게 됩니다.
  2. git config pull.rebase true: 'rebase' 전략을 선택하는 것으로, 현재 브랜치의 변경 사항을 리모트 브랜치의 끝에 재배치(rebase)합니다. 이는 현재 브랜치의 커밋을 임시로 제거한 다음 리모트 브랜치의 최신 커밋 뒤에 다시 적용하여 깔끔한 선형 히스토리를 유지합니다.
  3. git config pull.ff only: 'fast-forward only' 전략을 선택하는 것으로, 현재 브랜치가 리모트 브랜치의 커밋을 단순히 추적할 수 있을 때만 pull 명령이 성공하도록 합니다. 만약 현재 브랜치에 리모트 브랜치에 없는 추가 커밋이 있다면, pull 명령은 실패합니다.
728x90
반응형

댓글