본문 바로가기

개발

[Git] GitHub 웹 사이트에서 한 커밋 지우기

readme.md 같은 간단한 내용을 변경하는 경우 GitHub 페이지에서 직접 변경하는 작업을 합니다.(물론 개인 프로젝트입니다...)

 

그러다가 생각대로 되지 않아 커밋 내용을 변경하거나 삭제해야 될 일이 발생했습니다.

 

문제를 로컬에서 해결할 수 있는 방법을 알려드리겠습니다.

 

현재 상황은 GitHub 페이지에서 커밋이 된 상황입니다.

1. git pull을 통해서 커밋을 로컬로 가져옵니다.

2. git reset을 통해 지우고자 하는 커밋 이전 커밋으로 리셋합니다.

  커밋 해쉬 값을 확인하는 방법

  - git log --oneline 명령어를 사용해 확인할 수 있습니다.

 

  - Git History extension을 사용하면 우측 끝에서 확인할 수 있습니다.

  

 

$ git reset --hard <커밋 해쉬값>

위 명령어를 통해 지우고자 하는 커밋 이전으로 리셋합니다. soft가 아닌 hard 리셋이므로 개인 프로젝트가 아닌 경우 신중하게 사용해야 합니다.

 

3.  force push를 사용해 원격 저장소에도 적용합니다.

$git push origin main --force

 

 

이제 원격 저장소(GtiHub) 페이지로 돌아가서 새로고침 하면 원하는 대로 커밋이 삭제된 것을 확인할 수 있습니다.