https://a48kcfdnvl85xkmc.public.blob.vercel-storage.com/vercel-image-optimization-limit-1
작업 중인 브랜치가 있었지만, 굳이 메인 브랜치로 이동해 git rebase
를 수행했더니 (과거의 나 왜 그랬니).. 작업 브랜치에 불필요한 커밋들이 섞이고 말았습니다.
이 브랜치에는 원래 작업 내용만 담겨 있어야 한다는 요청을 받아, 이전 상태로 되돌리는 작업을 진행했어요.
회사 오가니제이션의 레포지토리에 작업을 했어야 했는데, 다행히도 걱정했던 만큼 해결 과정이 어렵지는 않았습니다 :)
feature-branch
(예시 이름)1️⃣ 현재 feature-branch
브랜치에 있기
git branch
git checkout feature-branch
2️⃣ 최신 main 브랜치 내용 받아오기
git fetch origin
3️⃣ 인터랙티브 리베이스 시작하기
git rebase -i origin/main
origin/main 이후에 추가된 모든 커밋 목록이 터미널에 나타남
어떻게 나타나는가?
4️⃣ 에디터에서 커밋 목록 정리하기
방법 1: 줄 자체를 삭제
리베이스 목록에서 아래 두 줄을 지운다. (하단 예시 참고)
지우고 나면, 최종 목록은 하단과 같다.
방법 2: pick
을 drop
으로 바꾸기 (내가 선택한 방법 🙌)
i
로 편집모드로 전환
이후 esc
로 종료하고, :wq
로 저장하고 닫기
5️⃣ 리베이스 중 발생한 충돌 해결
(다행히 나는 충돌이 없었음 휴-)
6️⃣ 리베이스 완료 후, 커밋 히스토리 확인
git log --oneline
078c76e
, 85172dd
← 이 두 개의 커밋은 사라졌다.7️⃣ 원격 저장소에 강제로 푸시 (PR 유지됨)
git push -f origin feature-branch
다행히도 rebase 이전의 네 커밋이 무사히 복구되었다 ^_^