작업 중인 브랜치가 있었지만, 굳이 메인 브랜치로 이동해 git rebase를 수행했더니 (과거의 나 왜 그랬니).. 작업 브랜치에 불필요한 커밋들이 섞이고 말았습니다.
이 브랜치에는 원래 작업 내용만 담겨 있어야 한다는 요청을 받아, 이전 상태로 되돌리는 작업을 진행했어요.
회사 오가니제이션의 레포지토리에 작업을 했어야 했는데, 다행히도 걱정했던 만큼 해결 과정이 어렵지는 않았습니다 :)
feature-branch (예시 이름)1️⃣ 현재 feature-branch 브랜치에 있기
git branchgit checkout feature-branch2️⃣ 최신 main 브랜치 내용 받아오기
git fetch origin3️⃣ 인터랙티브 리베이스 시작하기
git rebase -i origin/mainorigin/main 이후에 추가된 모든 커밋 목록이 터미널에 나타남
어떻게 나타나는가?

4️⃣ 에디터에서 커밋 목록 정리하기
위 명령어를 통해 나타난 터미널에서 집중해야할 부분은 터미널 상단!
main 브랜치를 rebase한 이후에 생긴 마지막 2건의 커밋을 제거하고자 한다.
pick bc3c22a feat(tournament-app): initial v1 tournament-app
pick d0797cf docs(README): 코드 리뷰 사항 반영
pick 97bffd2 docs(README): README 최신화
pick 3a8e113 fix(image-size): hover 효과로 화면 확대시 가로 스크롤 생기는 이슈 해결
pick 078c76e fix(README): 불필요 제거 및 리드미 최신화
pick 8두가지 방법이 있는데,
방법 1: 줄 자체를 삭제
리베이스 목록에서 아래 두 줄을 지운다. (하단 예시 참고)
pick 078c76e fix(README): 줄바꿈 제거 및 리드미 최신화
pick 85172dd design(button): Button 컴포넌트 분리 후 스타일 변경지우고 나면, 최종 목록은 하단과 같다.
pick bc3c22a feat(tournament-app): initial v1 tournament-app
pick d0797cf docs(README): 코드 리뷰 사항 반영
pick 97bffd2 docs(README): README 최신화
pick 3a8e113 fix(image-size): hover 효과로 화면 확대시 가로 스크롤 생기는 이슈 해결방법 2: pick을 drop으로 바꾸기 (내가 선택한 방법 🙌)
i로 편집모드로 전환
pick bc3c22a feat(tournament-app): initial v1 tournament-app
pick d0797cf docs(README): 코드 리뷰 사항 반영
pick 97bffd2 docs(README): README 최신화
pick 3a8e113 fix(image-size): hover 효과로 화면 확대시 가로 스크롤 생기는 이슈 해결
drop 078c76e fix(README): 줄바꿈 제거 및 리드미 최신화
drop 85172dd design(button): Button 컴포넌트 분리 후 스타일 변경이후 esc로 종료하고, :wq로 저장하고 닫기
5️⃣ 리베이스 중 발생한 충돌 해결
(다행히 나는 충돌이 없었음 휴-)
6️⃣ 리베이스 완료 후, 커밋 히스토리 확인
git log --oneline
078c76e, 85172dd ← 이 두 개의 커밋은 사라졌다.7️⃣ 원격 저장소에 강제로 푸시 (PR 유지됨)
git push -f origin feature-branch다행히도 rebase 이전의 네 커밋이 무사히 복구되었다 ^_^
