티스토리 뷰

git commit을 종종 취소할 때가 있다.

그럴때 사용하는 명령어가 바로 reset이다.

 

먼저, 터미널에서 git log --oneline을 입력하면 commit 찍었던 log들을 볼 수 있다.

여기서 마지막으로 찍은 메시지가 omiza인 커밋을 취소하려고 한다.

왼쪽에 나와있는 9ebbd21은 커밋의 id인데 원하는 상태 commit의 id를 입력하여 이동할 수 있다.

$ git reset --hard 64f274c

 

reset은 현재 작업 위치인 HEAD의 포인터를 특정 위치로 변경해버릴 수 있다.

위에 사진에 나와있는 것 처럼, HEAD의 포인터 위치가 변경된 것을 확인할 수 있다.

 

하지만, 여기서 주의해야 할 점이 있다.

commit을 취소해버리면 정말 수정 전 상태로 돌아가기 때문에

현재 수정된 내용들이 완전히 사라진다.

 

이 부분에서 잠깐 멘붕이 왔었다..ㅎㅎ

 

커밋 삭제 전에 해당 파일을 복사하여 다른 곳에 저장해놓거나..

reset을 되돌려야 한다.

 

나는 저장해준 파일이 없어서 reset을 다시 되돌렸다 ㅎㅎ

$ git reflog

해당 명령어를 치면 

이전까지 했던 작업들 reflog를 확인해서 몇 번째 HEAD로 이동할 것인지 확인할 수 있다.

 

나는 바로 전 상태로 돌아갈 것이기 때문에 commit:omiza가 찍혀있는 9ebbd21를 입력하였다.

commit id 말고, HEAD@{2} 이런식으로 입력해도 똑같이 동작한다.

$ git reset --hard 9ebbd21

 

 

다시 파일이 돌아왔다..ㅎㅎ

살았다. . . 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함