드림인 팀프로젝트 3주차 기록

te-ing·2022년 6월 13일
0

드림인프로젝트

목록 보기
3/3

다른 팀원의 PR을 삭제시킨 실수

드림인은 각자 포크한 레포로 작업을 한 뒤 배포중인 레포의 develop으로 PR하는 방식으로 브랜치를 유지하고 있다.

이는 팀 레포에는 main과 develop만 남아 깔끔하다는 장점과, 포크한 레포가 중간다리 역할을 하면서 안전장치가 되어주는 장점이 있다.

그런데 이번에 다른 팀원이 머지시킨 PR을 삭제하는 실수를 저질렀다. 내가 작업하던 브랜치에서 현재 배포중인 develop을 보기위해 pull한 뒤, 아무생각없이 commit하지 않고 pull한 커밋들을 지워버리고 머지시킨 것이 문제였다.


이미 다른 PR이 더해져 revert 하지 못하는 상황

Sorry, this pull request couldn’t be reverted automatically. It may have already been reverted, or the content may have changed since it was merged.

처음에는 잘못된 PR을 revert하려 했었다. 하지만 실수를 바로 안 것이 아니라, 이미 다른 PR들이 더해져서 revert하지 못하게 되었다.


cherry-pick을 사용하여 되돌리기

때문에 cherry-pick을 사용해서 내가 지운 커밋들을 가져와서 새로 덮어쓰는 방식으로 문제를 해결하였는데, 내가 날려먹은 커밋이 무엇인지 확인한 후에 빨간 테두리에 있는 커밋번호를 가져와서 체리픽 하여 새로운 PR로 덮어씌웠다.

git cherry-pick

git cherry-pick은 원하는 커밋만 가져오는 방식으로,
$ git cherry-pick <merge_commit_hash> 과 같이 사용하면 되지만, 나와 같이 이미 머지된 커밋을 가져오고 싶다면 $ git cherry-pick -m 1 <merge_commit_hash> 과 같이 사용하면 된다.


참고사이트 Dev Scroll

profile
프론트엔드 개발자

0개의 댓글