ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [잔디정원사] commit을 잘못했어요! git reset --
    NULL STACK/잔디정원사🌱 2020. 1. 22. 20:14
    반응형

    아직 익숙하지 않은 git 사용중, 원하지 않는 내용을 커밋했거나, 다시 돌아가고 싶은 시점이 생기기 마련이다.

    그럴땐 어떻게 해야 할까?

     

    우리가 이러려고 git을 쓰는거다...

    나를 믿지 않으니까ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

    사실 git이 익숙하더라도 과거로 돌아가고 싶은 때가 많다.

    git log를 실행했을때 나오는 <tree-ish> , 즉

    오른쪽 사진의 commit 옆의 커밋해시

    저부분을 복사해서 돌릴수 있다.

     

    삭제하기 전으로 돌리고 싶다면, 아래의 82ba로 시작하는 커밋해시를 복사해서 다음 명령어를 실행해보자.

    git reset 커밋해시

    unstage되었다고 나온다.

    reset을 할때 아무런 옵션도 적어주지 않으면,

    git reset --mixed 커밋해시 와 동일한 명령어가 된다.

    로그를 찍어보면 위의 '삭제함' 커밋은 사라졌고,' 커밋메세지' 커밋까지는 있지만, 파일은 삭제되어있는 상태이다.

    여기서 다시 커밋을 한다면, 파일이 삭제된 부분을 다시 커밋하는것과 동일하다.

    만약 파일이 삭제되기 전으로 가고 싶다면 --hard 옵션을 사용한다. (보통 원하는 결과는 --hard옵션을 사용한 상태인듯..)

    git reset --hard 커밋해시

     

     

    ** --soft 라는 명령어도 있는데...

    --mixed와의 차이점은 stage상태인지, unstage상태인지의 차이인듯.. 이부분은 나중에 추가하거나, 더 다루어야 할 것 같다.

     

    반응형
Designed by Tistory.