Git히스토리와 복구

cherry-pick 기본

다른 브랜치의 커밋 전체가 아니라 필요한 커밋 몇 개만 현재 브랜치로 가져오고 싶을 때 cherry-pick을 어떻게 쓰는지 정리합니다.

마지막 수정 2026년 3월 22일

기본 패턴

text
git switch release/1.0
git cherry-pick a1b2c3d

설명

  • cherry-pick은 다른 브랜치의 특정 커밋 하나 또는 몇 개만 골라 현재 브랜치에 다시 적용하는 명령입니다. 브랜치 전체를 merge하기엔 범위가 너무 클 때 유용합니다.
  • 대표적인 사용처는 hotfix backport입니다. 예를 들어 main에 반영된 버그 수정 커밋 하나를 릴리스 브랜치에도 옮겨야 할 때 cherry-pick이 자연스럽습니다.
  • 이 명령은 "같은 변경을 다른 브랜치에도 새 커밋으로 재현"하는 것이지, 두 브랜치 히스토리를 통합하는 것이 아닙니다. 그래서 지나치게 남발하면 비슷한 커밋이 여러 브랜치에 흩어져 추적이 어려워질 수 있습니다.
  • 핵심 판단 기준은 간단합니다. "정말 이 커밋만 필요한가?"입니다. 여러 커밋이 서로 의존한다면 cherry-pick보다 merge나 rebase가 더 올바를 수 있습니다.
  • commit 단위로 이동하는 명령이기 때문에, 커밋 메시지와 변화 범위가 깔끔할수록 cherry-pick도 훨씬 안전해집니다. 좋은 커밋 습관이 여기서도 중요합니다.

빠른 정리

명령의미
git cherry-pick <commit>특정 커밋을 현재 브랜치에 적용
잘 맞는 상황hotfix backport, 일부 수정만 이동
장점필요한 변경만 선택 가능
주의점의존 커밋을 빠뜨리면 충돌이나 오동작 가능

주의할 점

cherry-pick은 편하지만, 실제로는 여러 커밋이 함께 움직여야 하는 변경을 한 조각만 떼어올 수도 있습니다. 해당 커밋이 다른 수정에 의존하지 않는지 먼저 확인하는 편이 좋습니다.

참고 링크

1 sources