[깃] 깃허브에 push 된 커밋 삭제 feat. 소스트리

VicGameStudio_Choi 2022. 11. 9. 23:33

오늘은 깃허브에 이미 push 된 커밋을 삭제하는 방법을 알아보자.

 

먼저 Reset 을 사용해서 로컬 깃의 커밋 상태를 되돌린다. 

 

git reset --hard HEAD~3

소스트리는 다음을 이용해서 reset 이 가능하다.

그러면 해당 커밋으로 변경이 된다.

 

물론, Reset 을 했다고 하더라도 checkout 한 것 처럼 파일이 교체되진 않는다. ( 이유는 모르겠다..)

따라서 커밋 위치만 바뀌었을 뿐, 파일들은 커밋하지 않은 변경사항으로 남는다.

 

그렇기 때문에, 커밋하지 않은 변경사항을 날려주어야 커밋이 가능하다.

 

git reset
git checkout .
git clean -fdx

위 명령어를 진행하면 커밋하지 않은 변경사항이 모두 날아간다.

 

그리고 , 이 상태에서 git push 를 진행하면 푸쉬 포인터가 이전 상태여서 푸쉬가 되지 않는다.

 

git push -f

명령어를 통해서 강제로 현재 로컬 깃 상태를 원격 저장소에 적용한다.

 

마지막으로 git pull 을 받는다.

실제 깃허브에 들어가서 원격 저장소의 커밋이력을 보면 사라져있는 것을 알 수 있다.

'' 카테고리의 다른 글

[깃] 커밋하지 않은 변경 사항 제거  (0) 2022.11.09