[Git] git rebase 취소하는 방법에 대해서 알아보자 (feat. git reflog, git reset)

2024. 12. 19. 22:18Git

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

반응형

git rebase는 커밋 히스토리를 정리하거나 수정할 때 유용한 명령어입니다. 하지만 실수로 잘못 진행하거나 충돌이 발생했을 때 이를 취소하고 원래 상태로 되돌리고 싶을 수 있습니다. 이번 포스팅에서는 git rebase를 취소하는 방법과 상황별 해결책을 정리했습니다.

git rebase 취소하기

Rebase 진행으로 충돌이 발생하여 더 이상 진행을 원하지 않을 경우, 아래 명령어를 사용해 Rebase를 완전히 취소할 수 있습니다.

git rebase --abort

 

git reflog 분석 및 상태 되돌리기

Rebase가 이미 완료된 경우, 이전 상태로 복구하려면 우선 git reflog를 통해 HEAD가 이동한 모든 기록을 확인합니다.
 
1. 현재 브랜치의 커밋 기록 확인

git reflog

 
주어진 git reflog 출력은 시간순으로 가장 최근 작업이 위쪽에 위치합니다. 각 항목은 HEAD의 이동 기록을 나타내며, 가장 최근 상태부터 과거로 거슬러 올라갑니다.

...
5dc89caf4b6 (origin/feature/qa7-base) HEAD@{9}: rebase (start): checkout origin/feature/qa7-base
c6519bd8940 (origin/feature/moloco-add) HEAD@{10}: checkout: moving from dev to feature/moloco-add
...

 
HEAD@{9} : origin/feature/qa7-base 브랜치로 rebase를 시작한 상태입니다.
HEAD@{10} : dev 브랜치에서 feature/moloco-add로 체크아웃한 상태입니다. rebase 시작하기 전 상태입니다.
 
 
2. 이전 상태로 복구
git reset --hard는 작업 디렉토리의 모든 변경 사항을 삭제합니다. 만약 변경 사항을 잃고 싶지 않다면, 먼저 git stash를 사용해 안전하게 저장하세요.

git reset --hard HEAD@{9}

 
Rebase를 다시 시작하고 싶다면
현재 상태를 유지하거나, HEAD@{9}으로 돌아간 후 Rebase를 재시도할 수 있습니다.
 

git reset --hard HEAD@{10}

 
Rebase를 완전히 취소하고 싶다면
HEAD@{10}으로 돌아가면 Rebase 이전 상태로 복구됩니다.
 
 
 
이렇게 git rebase를 취소하는 방법과 상황별 대응에 대해서 알아보았습니다.
 
 
 

[Safari] 사파리 브라우저로 iPhone 웹 페이지 디버깅하는 방법 (feat. 웹 인스펙터)

사파리 브라우저로 iPhone 웹 디버깅하는 방법에 대해서 알아보겠습니다. 웹 페이지 디버깅웹 개발을 하다 보면 데스크탑 브라우저뿐만 아니라 실제 모바일 디바이스에서의 동작을 확인하고 디

dev-chim.tistory.com

 

[Javascript] e.target vs e.currentTarget : 웹 개발자가 알아야 할 이벤트 객체의 중요한 속성

브라우저에서 이벤트가 발생하면 해당 이벤트에 대한 정보를 담은 이벤트 객체(event)가 생성됩니다. 이 객체는 다양한 정보와 메서드를 제공하며, 이벤트 핸들러 내에서 이를 활용하여 작업을

dev-chim.tistory.com

 

[CSS] 노치(Notch)와 홈 바(Home Bar)에 대응하는 CSS 환경 변수(env()) 활용 방법

모바일 기기의 노치(Notch) 디자인과 홈 바(Home Bar)는 iPhone X 디바이스 이후로 흔히 볼 수 있는 특징 중 하나로, 디스플레이의 상단과 하단에 존재하는 공간을 차지합니다. 이러한 특수한 디자인 요

dev-chim.tistory.com

 
 

[firebase] 구글 Firebase로 무료 웹호스팅하는 방법에 대해서 알아보자

이전 포스팅에서 github pages로 간단하게 사이트 url을 생성해 본 적이 있었는데요. [git] github pages로 나만의 포트폴리오 웹페이지 배포해 보기 [git] github pages로 나만의 포트폴리오 웹페이지 배포해

dev-chim.tistory.com

 

[CSS] 유튜브(Youtube) 영상을 비율 유지한 채 반응형으로 삽입하는 방법

유튜브(Youtube) 영상을 비율 유지한 채 반응형으로 삽입하는 방법에 대해서 알아보겠습니다. iframe 코드 복사하기 데모 영상으로 Google Developers의 영상으로 연습해 보았습니다. 1. 공유 버튼을 클릭

dev-chim.tistory.com

 
 

반응형