git reset --hard HEAD~1 잘못 사용했을 때 해결

지수·2025년 6월 6일

오류해결

목록 보기
7/7
post-thumbnail

글을 쓰게 된 이유

커밋 메세지를 잘못 작성한 상태로 커밋을 해버려서
원격에 올린 커밋 내역을 삭제해보기로했다.

과거에 한 번 실패한 경험이 있지만...
git rest HEAD^ 잘못 사용했을 때 커밋 내용 되돌리기


1. git reset --hard HEAD~1 사용법

1 - 1 ) 로컬에서 커밋 내역 삭제하기

git reset --hard HEAD~1

Git Bash에 해당 명령문을 작성하면
먼저 로컬에서 커밋 내역이 삭제 된다.

1 - 2 ) 원격에 반영시키기

git push origin main --force

위의 명령문을 통해
변경 된 내역을 원격에 강제로 반영 시킬 수 있다.


2. git reset --hard HEAD~1 되돌리는법

2 - 1 ) 작업 내역 로그하기

git reflog

Git Bash에 해당 명령문을 작성하면
최근 HEAD 이동 내역을 볼 수 있다.

2 - 2 ) 원하는 커밋 찾기

명령어를 사용하면 이런 커밋 내역들을 발견할 수 있을 것이다.
노란색으로 가려진 부분이 해시인데 이부분을 복사한다

2 - 3 ) 복구하기

git reset --hard (해시)

이렇게 하면 삭제했던 입력한 해시의 커밋 내역이 돌아온다.


후기

왠만하면 이 기능은 사용하지 않는 게 좋겠다..
특히 협업이나, 중요한 프로젝트라면 더더욱
나는 다행히 문제가 있었던 프로젝트 둘 다 혼자 진행하는 부분이었기에 큰 문제는 없었다

하지만 괜히 사용했다가 더 큰 파장을 불러올 수 있으니까...(경험담)

profile
개발자 꿈나무 여고생

0개의 댓글