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
'Programming > Git' 카테고리의 다른 글
[Git] cherry-pick is already in progress (0) | 2021.01.06 |
---|---|
[git] 마지막 커밋 명렁어 수정하기 (git commit --amend) (0) | 2020.12.31 |
[Git] git log 명령어 모음 (0) | 2020.11.26 |
[Git] Git stash 사용 방법 (0) | 2020.08.13 |
[Git] authentication failed 초기화 방법 (0) | 2020.08.10 |
댓글