문제 상황
팀원이 dev 브랜치에 올린 코드가 오류나는 코드인지 모르고 무작정 나의 작업물을 dev 브랜치에 머지하였고, 정신이 없어서 내 로컬에서 dev를 pull하고 컴파일을 하지 않은 채로 배포를 진행하였다가 스웨거가 502 Bad Gateway가 뜨는 문제에 직면하였다..
처음에는 개발서버 환경변수 오류인줄 알았으나 오류 코드를 보니 배치 스케쥴러 어쩌고~라고 떠있었다.
일단 급하게 작업을 해야 하는 상태이고, 스웨거가 안먹으니 프론트도 영향을 받기 때문에 빨리 해결해야겠다 싶어서 정상작동하던 170 티켓번호 이후 커밋들을 revert하는 작업을 했다.
*revert을 사용한 이유
이전에 팀원이 git reset --hard 명령어를 통해 롤백하다가 레포지토리상 일주일치 커밋들이 유실되는 사고가 있었기 때문에 ,,,
🌕 revert로 롤백하는 방법

일단 로컬 dev로 이동을 해서 원격 dev 최신 코드를 pull해와야한다.
대충 문제가 생긴 지점 이후의 커밋 해쉬코드를 확인하고
터미널 상에서 하나하나 해쉬코드를 넣어서 명령문을 작성해주면 된다.
*머지 코드의 경우에는 -m 1 / -m 2를 넣어줘야함
git revert --no-edit -m 1 bb1f11d
git revert --no-edit -m 2 bb1f11d
+ -m 1은 첫 번째 부모를 기준으로, -m 2는 두 번째 부모를 기준으로 되돌리게 된다.
어느 부모를 기준으로 할지 선택해야 하는데, 보통 첫 번째 부모가 변경사항을 포함하는 경우가 많다.
일반 커밋의 경우에는
git revert --no-edit 540d7b7
git revert --no-edit 573ea88
git revert --no-edit e08d5f9
git revert --no-edit bb1f11d
git revert --no-edit 20a9fb4
git revert --no-edit ebed174
git revert --no-edit e9c4288
git revert --no-edit 2bf38b2
이런식으로 진행하면 된다.
작업이 완료가 됐으면 git push origin dev 명령어로 푸시를 하고 잘 작동이 됐는지 확인해보면 된다.
'프로젝트' 카테고리의 다른 글
| (ProfitKey) db 저장은 되는데 스웨거상 null 뜨는 오류 해결법 (0) | 2025.03.19 |
|---|---|
| (ProfitKey) @Lob 애노테이션: 글자수 제한 해제 (데이터 무결성 오류 해결) (0) | 2025.03.19 |
| (ProfitKey) 시큐리티 AOP인증 방식으로 MyPageController 코드 수정 (0) | 2025.03.13 |
| (ProfitKey) 컨트롤러 경로 변수 userId 인코딩 문제 해결 (0) | 2025.03.03 |
| (ProfitKey) request와 response (0) | 2025.02.27 |