본문 바로가기
Programming/Git

git 명령어 취소하기 / 되돌리기

by 배고프당 2020. 12. 24.
728x90
rebase를 잘못 사용한 경우에 취소를 하고 싶을 때가 분명히 있습니다. (예를 들면 remote 까지 반영된 경우)
 
꼭 rebase가 아니더라도 말이죠.
 
git에는 아주 좋은 명령어가 존재하는데요. 저도 아주 유용하게 잘 쓰고 있습니다^^
 
git reflog 브랜치이름
 
해당 명령어는 취소할 로컬 컴퓨터에서 직접 실행하셔야 합니다.
(reflog 명령어를 치면 지금까지 로컬에서 작업했던 git 로그들이 쭉 나오거든요)
 
해당 로그를 보고 돌아가고 싶은 커밋아이디를 찾고 reset으로 해당 시점 전으로 돌아가면 됩니다.
 
git reflog 명령어를 치면 아래와 같은 화면을 볼 수 있는데요.
 
 
어디 시점으로 돌아갈지 커밋아이디를 보고 옆에 있는 HEAD@{숫자} 로 되어있는 부분을 통해 reset을 통해 돌아갈수있습니다.
 
HEAD@{9}번에 해당하는 시점으로 돌아가고 싶다면
git reset --hard HEAD@{9}
 
윈도우 환경에서는 따옴표를 붙여야 할 수 있습니다
git reset --hard "HEAD@{9}"
 
 
rebase를 중지하고 싶다면
git rebase --abort
 
reflog와 reset을 통해 해당 시점으로 되돌아 가는 마법을 누려보세요 ^^
삭제된 것도 reflog에 남아있다면 되돌릴수있습니다

 

728x90

댓글