GIT

Git Reset & Reflog

Eco 2022. 1. 4. 11:13

아래의 그림처럼 2.2. sec pic 이 아닌 2. sec pic 으로 커밋을 되돌리고 싶을 때 사용한다.
돌아가고 싶은 log head 의 번호를 써줘야 한다 (5글자 정도)

git reset

  • soft : head 만 삭제 -> commit 한 로그만 삭제 (commit 전) -> 커밋 로그 변경시
  • mixed : commit 한 head 와 add 한 부분을 삭제 -> add 전 (파일 수정 및 생성은 그대로) -> 작업 영역 내용 변경시
  • hard : 지정한 head 부분과 파일을 완전히 삭제 -> 파일 수정 및 생성 전 -> 이전 커밋 상태로 돌아갈때

git reset --soft[log head]

위 사진처럼 test2가 커밋 되기전 add 상태로 복구가 된다.

git reset --mixed [log head]

위 사진처럼 test2가 add 되기전 으로 복구 된다.

git reset --hard [log head]

기존에 있던 test2 가 사라진다 test2 복구 방법이 없다 위험 잘써야한다.

git commit --amend -m "내용"

아래 사진 처럼 last commit 의 내용을 변경 할 수 있다. -> 덮어 씌우기 라 생각하면 된다

위에서 보는것처럼 마지막 커밋 부분만 해당 한다.

git reflog

내가 한번이라도 커밋했던 로그를 전부 기록 해준다.

여기서 2.2. sec pic 으로 돌아가고 싶으면 git reset --hard dca2954 를 하면 된다.
-> hard 이기 때문에 잘 생각해서 써야한다. git reset --hard [log head] 해서도 돌릴 수 있는 방법이다.