GIT

[github] Reset 하기

베스트오버 2023. 6. 19.

테스트 안한 PR을 고대로 받는 경우가 너무 많아 결국 리셋해야하는 지경에 이르러 알아보는 도중

 

Revert를 하려고 하였으나

Reset을 하는 것이 더 깔끔하다고 하여 

 

동기의 도움을 빌려 Reset을 하게 되었다.

 

Revert와 Reset

https://beolog.tistory.com/126

 

Revert, Reset

리버트(Revert)와 리셋(Reset) 리버트(Revert) 리버트는 커밋을 취소하는 새로운 커밋을 생성합니다. 이전 커밋을 되돌리는 과정에서 이전 커밋의 변경 내역을 보존합니다. 즉, 리버트는 현재 작업 중

beolog.tistory.com

 

git reflog --oneline

git reflog는 로컬 저장소에서 HEDAD의 업데이트를 기록을 출력합니다. 업데이트의 내용은 저장소 디렉토리의 .git/logs/refs/heads/. 혹은 .git/logs/HEAD 에 기록되며 git reflog는 이 내용을 출력합니다.

(--oneline은 한 줄로)

 

해당되는 commit id(hash)를 찾았으면

(6de750c)

 

git reset --hard 6de750c -f

리셋을 해주고

 

git remote add forfix <원격레포지주소>

원격 forfix 를 추가해준다음에

 

git push forfix develop -f

그걸 강제로 원격 develop 브렌치에 넣어버린다.

 

 

 

추가적으로,

Fork를 받은 내 레포지가 전 기록들로 남아 있다면

그 원격 레포지를 삭제 후 다시 브렌치를 생성하면 된다.

댓글