본문 바로가기

Trouble Shooing

(Git)깃허브에 잘못 push된 커밋을 완전히 지워버리기(reset)

 

발생 배경

파이참을 쓰다 md파일 편집이 좀더 용이한 visual stuido code를 설치해 씀

vs에서 편하게 git을 사용할수 있으나 깃 로그를 터미널이 아닌 방법으로 시도하던중 취소해야할 커밋이 push되어 버렸다..!

 

내가 원하는건 완전히 test 두개의 커밋을 지워버리는것!

 

여기서 주의할 점은 나는 혼자 작업했기때문에 revert를 사용하지 않고 바로 삭제하는 방식으로 진행해서 가능했던 거..!
협업이 진행되는 회사에서 독단적으로 이렇게 날려버리면 다른분들에게 사죄하러 다녀야하니까 협업에서는 revert를 쓰자

해결 방법

1. 내가 되돌아가고 싶은 시점의 깃 커밋을 확인하자 

위의 이미지에서 나는 test두개를 지우고 (add)소켓 부분으로 돌아가려한다.(커밋의 번호를 기억하자)

2. git reset : 커밋 취소하기

git reset --hard를 사용하면 현재 작업 위치인 HEAD의 포인터를 특정 위치로 변경할 수 있는데 이때 이걸 사용하자

git reset --hard 5fc0087cb7221303bf5106664ed2b1dee5e3cbab

# HEAD is now at 5fc0087 (add)소켓

 

3. 돌아온 시점에서 원격 push하기

git push -f origin

 이렇게 하면 

살았따..

test 커밋이 사라져 있는것이 보인다!