Git에서 체리픽(cherrypick)을 수행하는 방법을 알아보도록 합니다. 먼저 체리픽은 무엇이고 언제 왜 사용할까요?



# Git 체리픽(cherry-pick)이란?만약 커밋 번호를 알고 있다면 원하는 브랜치에 해당하는 커밋 내용만 반영, 업데이트 할 수 있습니다. 이런 목적으로 체리픽을 많이 사용합니다.

예를들어 branchA에서 커밋한 내용 중 커밋 하나만 branchB에 반영하고 싶은 경우가 체리픽 사용에 좋은 예 입니다. 이런 경우 체리픽을 사용하는데 만약 체리픽으로 커밋할 경우 어떻게 해야할까요?

만약 아래와 같은 커밋을 다른 브랜치에 반영한다면?
Commit no. 1gsdec4b2b3ef30623423sf86fc85454gdff29

예를들어 위와 같은 커밋넘버가 존재한다면 아래의 커맨드를 통해 현재의 브랜치에 업데이트 가능합니다.
> git cherry-pick --커밋넘버

이때 커밋넘버는 전체가 아닌 일부만 사용하여도 가능하니 참고하세요.


! 언제 cherry-pick을 사용할까요?
아직 기존의 Pull Request가 머지가 안된 경우 체리픽을 사용하여 현재 브랜치에 반영한 뒤 계속해서 필요한 작업을 이어나갈 수 있습니다. 만약 체리픽을 사용하지 않는다면 complict가 발생되기 때문입니다.


! 체리픽 옵션 알아보기
체리픽은 다음과 같이 옵션을 설정하여 사용할 수 있습니다.

--continue
체리픽이 conflict 등으로 실패하는 경우... 계속해서 해결하기 위한 방법
> git cherry-pick --continue


--quit
만약 체리픽이 실패하는 경우 더 진행하지 않고 현재 상태를 빠져나오는 방법
> git cherry-pick --quit


-- abort
체리픽 이전 상태로 돌리고 체리픽을 취소하는 방법
> git cherry-pick --abort