기본 패턴
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