git cherry-pick

레고·2023년 2월 27일
0

git cherry-pick

미리미리 병 말기인 저는 리뷰를 기다리다 1단계 미션 브랜치인 step1 에서 2단계 미션을 진행하는 기행을 저질렀습니다.

1단계 미션이 merge된 이후 rebase하기 위해 step1merge된 저장소에 rebase하려 시도해봤지만, 시도하면 할수록 브랜치의 상태는 심각해져만 갔네요...

환자의 상태가 심각해보인다.

step1step2는 이미 한몸이 되어버렸습니다🥲

안타깝고 슬픈 시간을 보내다 슬랙에 구조 요청을 했더니 구세주(코난)가 나타나 도와주셨습니다.
(넌 처음부터 잘못된 거야)

태생적으로 꼬여버린 제 깃을 구하기 위해 코난은 main에서 새로운 브랜치를 만들어 merge된 저장소를 rebase하시고, 이후 step2를 만들어 merge 이후의 커밋을 step2git cherry-pick이라는 새로운 기술로써 옮겨주시는 기적을 보여 주시고는 홀연히 떠나갔습니다.

과정

git checkout main 태초 마을로 돌아간다.

git fetch {저장소 이름} {사용자id} merge된 commit들을 가져온다.

git rebase {저장소 이름}/{사용자id} 충돌 없게 진행하기 위해 main에 rebase

1단계 머지 부분까지 완료됨


git checkout {커밋을 옮기고 싶은 목적지 브랜치}

git log 를 이용하여 커밋 로그 확인

옮기고 싶은 커밋이 1개인 경우 git cherry-pick {커밋 로그}

옮기고 싶은 커밋이 2개 이상인 경우 git cherry-pick {옮기고 싶은 커밋 시작 부분보다 1개 전의 커밋 로그}...{옮기고 싶은 커밋들 중 가장 최근 커밋 로그}

ex) git cherry-pick c9e5eeb..a85a710

치유가 된 모습..

원하는 그 모습으로 돌아온 나의 브랜치들..같은 실수를 반복할 수 있기에 기록해봅니다.

profile
Way to go

0개의 댓글