3. git reset

재능없는 개발자·2023년 2월 12일
0

세번째 사진을 찍고 commit을 했는데 commit 메세지를 잘못입력해서 바꾸고 싶다면 어떻게 해야할까?
git reset을 사용하면 된다. reset에는 3가지 종류가 있다. 하나씩 살펴보자.

git reset --soft

reset soft는 사진첩에서 사진만 지우는 것이다.
reset soft를 사용하면 head가 이전으로 되돌아간다.
commit을 완료했는데 commit message를 변경하고 싶을때 주로 사용한다.

git reset —soft 606c

두번째 사진을 저장되었던 그 때로 soft reset 한다.

git log를 찍으면 세번째 commit이 사라진 것을 볼 수 있다.

git status를 찍으면 세번째 사진이 add는 되어있지만, commit이 되어있지 않는 상태로 남아있다.

git reset --mixed

reset mixed를 사용하면 사진첩에서 사진을 지우고, 사진까지만 삭제한다.
commit을 완료했는데 test3.txt에 내용을 추가해서 다시 commit하고 싶을때, 즉 작업 내용 변경이 필요할때 사용한다.

git reset —middle 606c

마찬가지로 두번째 사진을 저장되었던 그 때로 reset해야 한다.

git log를 찍으면 세번째 commit이 사라진 것을 볼 수 있다.


status를 찍어보면, 변경사항은 감지했지만 사진은 찍기 전으로 되돌아가 있는 것을 확인할 수 있다.

git reset --hard

reset hard는 사진첩에서 사진을 지우고, 사진을 삭제하고, 변경사항도 모두 삭제한다. 파일을 변경하기 전으로 되돌리고 싶을때 사용한다.

git reset —hard 606c

마찬가지로 두번째 사진을 저장되었던 그 때로 reset해야 한다.

head가 이전을 가리키고 있고, 생성했던 test3.txt까지 모두 삭제 된 것을 확인할 수 있다.

git reflog

그런데 상사가 삭제한 test3.txt파일(삭제한 추가했던 내용)을 다시 불러오라 하면 어떻게 해야할까? git reflog를 사용하면 된다.

git reflog

git reflog를 하면 내가 한번이라도 commit했던 기록들이 모두 볼 수 있다.

git reset —hard 8bf5

이제 reset을 하면 test3.txt를 commit했던 그 시점으로 돌아온 것을 확인할 수 있다.
그리고 test3.txt파일도 온전히 복구되었다.

git ammend

git commit --amend -m "recent commit message change"

이렇게 하면 가장 최근 commit messag만을 reset하지 않고 바꿀 수 있다.

profile
https://www.youtube.com/watch?v=__9qLP846JE

0개의 댓글