소소한 정리

push한 commit 되돌리기

주다애 2023. 11. 29. 22:09

GitHub에 push한 commit을 삭제하는 방법을 알아본다.

 

1. commit 지우기

먼저, 가장 최근의 commit을 확인한다.

git log --oneline

그 다음 가장 최근에 push한 commit을 삭제한다.

git reset HEAD^

이 때, intellij의 터미널에서는 HEAD^^라고 작성해줘야 ^을 인식한다.(위와 같이 작성하면 More?이라는 질문을 볼 수 있다..)

2. GitHub에 삭제한 commit push해주기

이제 GitHub에 삭제한 commit을 반영한 상태를 push 해주면 된다.

git push -f origin <본인의 branch>
ex) git push -f origin main

 

이제 가장 최근의 commit이 GitHub에서 삭제된 것을 볼 수 있다!

 

+ GitHub에 push한 특정 commit 이후 모든 커밋을 삭제하는 방법도 알아보자

1. commit_hash 찾기

먼저, 특정 commit_hash 이후 모든 커밋을 지우고 싶으면 그 기준 commit_hash를 찾아서 복사한다.

그 다음 그 commit_hash를 사용해서 이후 커밋을 모두 지우는 작업을 한다.

git reset --hard [commit_hash]

 

그럼 위처럼 현재 HEAD의 위치가 특정 커밋 시점으로 옮겨졌음을 알 수 있다.

2. GitHub에 삭제한 commit push해주기

이제 GitHub에 삭제한 commit을 반영한 상태를 push 해주면 된다.

git push -f origin <본인의 branch>
ex) git push -f origin main

 

이제 삭제한 commit_hash 이후의 커밋이 모두 삭제된 것을 볼 수 있다!

 

[Before]                                                                                                                  [After]

'소소한 정리' 카테고리의 다른 글

[JSCODE] Java 스터디 후기  (0) 2024.09.18
Intellij gitignore 파일 만들기  (1) 2023.11.23
Intellij와 GitHub 연동  (0) 2023.07.08
MySQL 8.0 비밀번호 분실 시 재설정  (0) 2023.03.17