본문 바로가기
Git/Git & GitHub

[Git] Git에서 커밋 되돌리기 - reset, git push -f

by ♡˖GYURI˖♡ 2024. 6. 7.

프로젝트를 진행하며 main과 review라는 브랜치를 사용하였다.

review에 코드를 작성하고, main에 Pull Request를 보내도록 하였는데, PR을 닫는 과정에서 실수로 Merge를 눌러버렸다😱...

Merge pull request가 아니라 Close pull request를 눌렀어야 했는데...!

급하게 멘토님께 여쭤보니 main의 커밋들을 되돌려서 강제 푸시한 후 다시 PR을 해야한다고 답변을 남겨주셨다.

 

멘토님께서 남겨주셨던 블로그⬇️

 

Git에서 커밋 되돌리기 - 마지막 커밋을 취소하는 방법

Git에서 코드 작업을 하고 있는데 계획대로 되지 않아서 가장 최근 커밋을 되돌려야 한다고 가정해봅시다. 어쩌면 좋을까요? 방법에 대해 알아봅시다! 마지막 커밋을 취소할 수 있는 두 가지 방

www.freecodecamp.org

 

 

🔍 Git & GitHub 기본 개념 - (4) : 강제 push(force)

Git & GitHub 기본 개념 - [ 알잘딱깔센 GitHub 핵심개념 참고 ] : 강제 push(force)

velog.io

 

일단 main에서 어떤 커밋까지 되돌려야 할지를 찾아보고, 마지막으로 PR했던 부분까지 되돌리기로 했다.

 

1. main 브랜치에서 커밋 버튼을 누른다.

 

 

2. 되돌리고 싶은 시점의 커밋을 찾는다. (영문과 숫자로 되어 있는 부분을 복사한다.)

 

3. git reset [commit hash] : commit hash에 원하는 커밋의 해시값을 넣는다.

e.g. git reset 317db9c 

 

4. git push origin [브랜치명] -f

원하는 브랜치에 강제 푸시한다.

 

 

나는 만약을 위해 backup이라는 브랜치를 따로 만들어 main의 코드들을 복사해두고 reset하였다.

다행히 문제 해결~