본문으로 바로가기

 

Git Cherry-pick이란?

Git에서 Cherry-pick은 특정 커밋을 선택하여 현재 브랜치에 적용하는 기능입니다.

즉, 특정 브랜치에서 원하는 커밋만 따로 골라서 적용할 수 있는 유용한 기능입니다.

 

Cherry-pick 예제

[예제 상황]

  • feature/branch에서 몇개의 기능을 개발했고,
  • 그중 commit B를 feature/new 브랜치에도 적용하고 싶습니다.
a1b2c3d (HEAD -> feature/branch)  Commit C
f4e5d6b  Commit B (이거만 feature/new 브랜치에도 적용하고 싶음)
c7d8e9f  Commit A
e1f2g3h (feature/new)  Previous feature/new commit

 

 

Cherry-pick 사용 방법

1. feature/new 브랜치로 이동

git checkout feature/new

 

2. 체리픽 실행 (특정 커밋 가져오기)

f4e5d6b는 적용하려는 커밋의 해시입니다.

git cherry-pick f4e5d6b

 

결과로는 commit B인 f4e5d6b만 feature/new 브랜치에 적용됩니다.

 

 

여러개의 커밋 Cherry-pick하기

feature/branch에서 commit B와 commit C 두 개를 feature/new에 적용하고 싶다면?

git cherry-pick f4e5d6b a1b2c3d

 

 

Cherry-pick 충돌 해결

체리픽 도중 충돌(conflict)이 발생할 수 있습니다.

이 경우 Git이 충돌 파일을 알려주므로, 수정 후 다음을 실행하면 됩니다.

git add .
git cherry-pick --continue

 

만약 체리픽을 취소하고 싶다면?

git cherry-pick --abort

 

 

Cherry-pick을 리베이스처럼 사용하기 (Cherry-pick 범위 지정)

만약 commit A부터 commit C까지 적용하고 싶다면?

git cherry-pick c7d8e9f^..a1b2c3d

 

^는 commit A의 이전 커밋을 의미합니다.

결과롤는 commit A부터 commit C까지가 feature/new에 추가됩니다.

 

 

  

'3. 개발도구 > 3_1 Git' 카테고리의 다른 글

[Git] CMD로 git에 소스 올리기  (0) 2020.02.21
[Git] Github Desktop 사용법  (0) 2020.02.17