git push 되돌리기

Life is ninanino·2023년 1월 27일

코드스쿼드를 하면서 스프링 스터디를 하기로 했다
과제 제출 확인을 위해 준호짱이 만든 출석부에 숟가락을 얻어서
수정하고 과제 제출부로 만들려했는데

여기서부터 대참사가 일어난다

주노짱이 깃허브 오가니제이션에 올려놓은 코드를 내 레파지토리에 포크해서 수정하던가 했어야되는데 주노짱 코드 주소를 그대로 내 컴퓨터로 git clone을 했다
열씨미 수정하고 push했는데 결과는?

주노짱이 작업한 main 브랜치에 내 수정본이 덮어씌워졌다.....
진짜 세상이 무너지는 줄 알았는데 역시 솟아날 구멍이 있쥬?

  1. git commit 이력 조회하기
git log --oneline

해당 명령어로 내가 작업한 내역을 조회한다

여기서 맨 위에 있는 주소가 내가 마지막으로 push한 내용이다
되돌리기를 시작한다

  1. commit 되돌리기
    맨 위가 내가 푸쉬한 내용이므로 두번째에 있는 주소를 복사한다
    그럼 125886b가 될 것이다
git reset --hard "해당commit"

내 경우엔 git reset --hard "1258886b"가 되겠다
그럼 내가 푸쉬하기 전 커밋으로 돌아오게 된다

  1. github 되돌리기
git push -f origin master

-f 는 신중히 사용해야 한다지만 나는 저 명령어가 없으면 되돌아가지지 않았다.
나같은 경우엔 main 브랜치였다.
그래서 git push -f origin main을 날려줬다

다행히도 원래 내역으로 돌아올 수 있었다... 진짜 한시간동안 식은땀흘렸다...

profile
백엔드 프로그래밍을 공부하고 있습니다. AWS, 클라우드 환경에 대해 관심이 많습니다.

2개의 댓글

comment-user-thumbnail
2023년 2월 21일

ㅠㅠ 니노 고생 많았네...

1개의 답글