https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html
블로그를 참고하여 Commit과 Push를 취소하고
chatGPT를 활용해 다음과 같이 해결했다.
작업 중인 브랜치에 main
브랜치의 변경 사항을 반영하려면 rebase
를 사용할 수 있습니다. rebase
는 작업 중인 브랜치의 커밋을 일시적으로 제거하고, main
브랜치의 최신 변경사항을 적용한 다음, 제거했던 커밋을 다시 적용하는 방식입니다. 이 과정은 다음과 같습니다:
<your_branch>
라고 가정합니다.)git checkout <your_branch>
main
브랜치의 최신 변경 사항을 rebase
합니다.git pull --rebase origin main
이제 <your_branch>
의 커밋들은 main
브랜치의 최신 커밋 위로 이동되었습니다.
만약 rebase
과정에서 충돌이 발생하면, 충돌을 해결합니다. 충돌이 발생한 파일을 열고, 양쪽 변경 사항을 확인합니다. 이 중에서 적절한 변경 사항을 선택하고, Git 충돌 마커(<<<<<<<, =======, >>>>>>>>)를 제거합니다.
충돌이 모두 해결되면, 변경 사항을 스테이징하고 rebase
를 계속합니다.
git add .
git rebase --continue
이렇게 하면 작업 중인 브랜치에 main
브랜치의 변경 사항이 반영됩니다. 작업을 계속하거나, 변경 사항을 원격 저장소에 푸시하면 됩니다.
git push origin <your_branch> --force
rebase
는 기존 커밋의 순서를 변경하기 때문에, 강제로 푸시해야 할 수 있습니다. 그러므로 위 명령에 --force
옵션이 추가되어 있습니다.
커밋을 처음부터 하나씩 충돌을 잡는 방식이다
이 방식으로 푸시를 완료해도 코드가 겹쳐 수동으로 해결해야 하는 문제도 있다