여러가지/git
[Git] 깃 머지 충돌이 났을 때 나오는 메세지 의미
포스트it
2024. 3. 23. 09:00
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에서 두 가지 이상의 브랜치가 서로 다른 커밋을 가지고 있을 때 나타납니다.
즉, 현재 브랜치와 리모트 브랜치 간에 발산이 있으며, 이를 해결하기 위해서는 어떻게 병합할지 명시해야 합니다.
여기에 제시된 세 가지 옵션은 각각 다른 병합 전략을 나타냅니다.
- git config pull.rebase false: 이 옵션은 'merge' 전략을 선택하는 것으로, Git에게 pull 명령을 실행할 때 리모트 변경 사항을 현재 브랜치의 끝에 병합하도록 지시합니다. 이는 리모트 브랜치의 커밋과 현재 브랜치의 커밋이 병합 커밋으로 결합되어 히스토리에 남게 됩니다.
- git config pull.rebase true: 'rebase' 전략을 선택하는 것으로, 현재 브랜치의 변경 사항을 리모트 브랜치의 끝에 재배치(rebase)합니다. 이는 현재 브랜치의 커밋을 임시로 제거한 다음 리모트 브랜치의 최신 커밋 뒤에 다시 적용하여 깔끔한 선형 히스토리를 유지합니다.
- git config pull.ff only: 'fast-forward only' 전략을 선택하는 것으로, 현재 브랜치가 리모트 브랜치의 커밋을 단순히 추적할 수 있을 때만 pull 명령이 성공하도록 합니다. 만약 현재 브랜치에 리모트 브랜치에 없는 추가 커밋이 있다면, pull 명령은 실패합니다.
728x90
반응형