본문 바로가기
기타👨🏻‍💻/Git

[Git] 체리픽 ( Cherry-Pick )

by 텅빈비니 2024. 7. 4.
반응형

안녕하세요🐶

빈지식 채우기의 비니🙋🏻‍♂️ 입니다.

 

오늘은 Git에서 자주 사용하는 체리픽 ( Cherry-Pick ) 에 대해 알아보도록 하겠습니다.


1. 개요

고마워요 나무위키!

체리픽이란 체리 피킹에서 유래된 말로,

인기 있는 특정 요 소만을 골라 가지고 오는 것을 뜻한다고 한다.

 

Git에서도 이러한 기능으로 사용되는 것이 체리픽 ( Cherry-Pick ) 이다.

 

그럼 자세히 알아보도록 하겠습니다.


2. 체리픽 ( Cherry-Pick )

다른 브런치의 있는 커밋(Commit) 을 내 브런치에 적용시킬 때 사용하는 Git 기능입니다.

 

정확히는 언제 쓰는가?

  • 작업 브런치 및 메인 브런치에 특정 커밋을 가지고 오고 싶을 때, 그 부분만 가지고 오고 싶은 경우
  • 특정 이슈에 대한 버그 수정 커밋을 다른 브랜치에 있을 때, 그 부분만 가지고 오고 싶은 경우

위와 같은 경우가 있고, 나의 경우는 아래와 같은 상황에 사용하였다.

  1. 나는 작업 브랜치에 A, B, C의 기능을 개발하고 커밋을 하였다.
  2. 하지만 이번 배포 일정에 포함되어야 할 기능은 B 기능 뿐이다.
  3. B 기능 커밋을 체리픽을 이용하여 가지고 온다.

일반적인 상황에서는 자주 사용하지 않는 기능이므로,

명확히 깃 브랜치 프로세스 및 정책을 정하여 그에 맞게 수행하는 것이 좋다.


2. 사용 방법

 

2-1. 단일 커밋 체리픽

git cherry-pick [커밋 해쉬]

git cherry-pick 34b4cab
git cherry-pick 13f03ab

# 또는 

git cherry-pick 34b4cab 13f03ab

2-2. 연속적 커밋 체리픽

git cherry-pick [커밋 해쉬]..[커밋 해쉬]

git cherry-pick 34b4cab..fe834e9

3. 체리픽 충돌 해결

체리픽을 진행할 때 충돌이 날 수 있는데,

아래와 같이 수정이 가능하다.

3-1. 수동으로 충돌된 파일 수정

1. 충돌난 파일의 코드를 수정
2. git add [충돌난 파일 경로]		// 충돌 해결한 코드를 추가
3. git cherry-pick --continue  		// cherry-pick을 다시 진행

3-2. 체리픽 중단

git cherry-pick --abort

감사합니다.


참고

반응형