[GIT] This branch cannot be rebased due to conflicts (PR오류)

손한솔·2023년 6월 8일
2

git

목록 보기
1/2
post-thumbnail

  • Rebase and merge 만 안되는 오류가 발생했다.
    업로드중..
  • 다른 것은 사용이 가능했다

https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html

블로그를 참고하여 Commit과 Push를 취소하고
chatGPT를 활용해 다음과 같이 해결했다.

해결 방법

작업 중인 브랜치에 main 브랜치의 변경 사항을 반영하려면 rebase를 사용할 수 있습니다. rebase는 작업 중인 브랜치의 커밋을 일시적으로 제거하고, main 브랜치의 최신 변경사항을 적용한 다음, 제거했던 커밋을 다시 적용하는 방식입니다. 이 과정은 다음과 같습니다:

  1. 먼저, 작업 중인 브랜치로 이동합니다. (여기서는 <your_branch>라고 가정합니다.)
git checkout <your_branch>
  1. main 브랜치의 최신 변경 사항을 rebase합니다.
git pull --rebase origin main

이제 <your_branch>의 커밋들은 main 브랜치의 최신 커밋 위로 이동되었습니다.

  1. 만약 rebase 과정에서 충돌이 발생하면, 충돌을 해결합니다. 충돌이 발생한 파일을 열고, 양쪽 변경 사항을 확인합니다. 이 중에서 적절한 변경 사항을 선택하고, Git 충돌 마커(<<<<<<<, =======, >>>>>>>>)를 제거합니다.

  2. 충돌이 모두 해결되면, 변경 사항을 스테이징하고 rebase를 계속합니다.

git add .
git rebase --continue

이렇게 하면 작업 중인 브랜치에 main 브랜치의 변경 사항이 반영됩니다. 작업을 계속하거나, 변경 사항을 원격 저장소에 푸시하면 됩니다.

git push origin <your_branch> --force

rebase는 기존 커밋의 순서를 변경하기 때문에, 강제로 푸시해야 할 수 있습니다. 그러므로 위 명령에 --force 옵션이 추가되어 있습니다.

커밋을 처음부터 하나씩 충돌을 잡는 방식이다
이 방식으로 푸시를 완료해도 코드가 겹쳐 수동으로 해결해야 하는 문제도 있다

profile
안녕하세요

0개의 댓글