[git] 같이 쓰면 찰떡인 revert와 cherry-pick(과 hard reset)

zzarbttoo·2024년 4월 2일
0

Git/Github

목록 보기
4/4

사람은 항상 실수를 하기 마련이고..
개발을 하다보면 예상치 못하게 롤백이 필요한 경우가 있다

예를 들면...

  • 서비스 개발을 해서 마스터에 푸시를 해놨는데(패치는 아직 안됐음)
  • 해당 서비스와 통신하는 다른 서비스에서 대응이 안됐는데
  • 다른 사람이 해당 서비스를 패치해야 한다는 상황 등등..

혼자하는 서비스(혹은 안전하지 않아도 되는(!) 토이플젝)이라면 해당 commit의 branch를 따고 master에 hard reset 등을 할 수 있지만...


보통의 기업이라면 마스터에 강제로 푸시가 막혀있을 경우가 많다(회사코드여서 커밋 내역은 모자이크 처리함)
물론 강제 푸시를 해제할 수 있지만 그것 보다는 해당 commit 내역은 남겨둔 채 리셋을 할 수 있는 revert를 사용하는 것을 권장한다고 한다

revert를 해보면..
내가 없애고 싶은 commit 을 아래와 같이 revert 할 수 있다

revert 하면 새로운 commit 요청이 뜨고

로그를 보면

revert 한 기록이 있다
즉 커밋 기록에는 존재하지만 롤백을 할 수 있다는 것이다..

그리고 이것을 다시 롤백하고 싶다면..?

cherry-pick을 이용해 해당 커밋을 돌리면 된다

고럼 이런 식으로 다시 돌아온 것을 확인할 수 있다..!
(오늘 요긴하게 써먹어서 슬 정리)

profile
나는야 누워있는 개발머신

0개의 댓글