테스트 안한 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를 받은 내 레포지가 전 기록들로 남아 있다면
그 원격 레포지를 삭제 후 다시 브렌치를 생성하면 된다.
댓글