🐨
Git Tutorial
  • Git
  • 🚲개요
    • git command
  • 🏍️초기 세팅
    • git config
    • git fork, git clone
  • 🚙Add-Commit-Push
    • add, commit, push
    • add, commit, push 동작 과정
    • pull request
  • 🚅변경사항 살펴보기
    • git status
    • git diff
    • git log
    • git show
  • ✈️Add-Commit-Push 심화
    • 커밋 메시지 본문 작성하기
    • 특정 파일/폴더만 add 하기
    • 특정 파일/폴더만 add 취소하기
    • 강제 push 하기
    • 이미 만든 커밋 메시지 수정하기
  • 🚀커밋 되돌리기
    • git reset --soft
    • git reset --hard
  • 🛸협업하기
    • git remote
    • fetch, merge, pull
    • git branch
  • 마치며
Powered by GitBook
On this page
  1. 커밋 되돌리기

git reset --hard

Previousgit reset --softNextgit remote

Last updated 2 years ago

이번에는 특정 커밋 이후에 나온 모든 커밋 메시지와 코드를 삭제하는 방법을 알아봅시다.

이 방법을 사용하면 삭제된 커밋과 코드를 복구하기가 힘드므로 조심히 사용하시길 바랍니다.

저는 일단 테스트용으로 커밋 메시지를 여러 개 채웠습니다.

우리는 커밋 ID가 8fb1656인 fix: 의도와 다른 코드를 추가의 커밋 다음에 있는 모든 커밋과 코드를 삭제하려고 합니다.

제 커밋 ID는 8fb1656이므로 git reset --hard 8fb1656 을 입력합니다.

이후 git status와 git log --oneline 을 통해 확인을 해봅시다.

git status에서는 IDE에서 기본 제공되는 파일을 제외하고는 다 없어진 상태입니다.

git log —oneline 에서도 커밋 메시지가 삭제된 상태입니다.

여기까지는 git pull을 사용하여 복구를 할 수 있습니다.

하지만 지금은 복구하는 것이 연습이 아니므로 강제 push를 진행합니다.

이제 GitHub를 확인해봅시다.

이렇게 처음으로 되돌아간 것을 확인할 수 있습니다.

🚀