개발 지식

[개발 지식] 체리픽(cherry-pick)

hminor 2024. 8. 25. 12:59

"체리픽(Cherry-pick)"은 주로 소프트웨어 개발에서 사용되며,
특정 커밋이나 변경 사항을 선택적으로 적용하는 작업을 의미.
이 용어는 원래 농업에서 좋은 체리를 골라 수확하는 것에서 유래됨.


체리픽의 주요 개념

  1. 체리픽의 정의:
    • 체리픽은 특정한 커밋이나 변경 사항을 소스 코드의 다른 브랜치에 선택적으로 적용하는 작업이다.
    • 주로 버그 수정이나 기능 개선을 특정 브랜치에만 적용하고 싶을 때 사용된다.
  2. 체리픽의 사용 사례:
    • 버그 수정: 특정 브랜치에서 버그를 수정하고, 이 수정 사항을 다른 브랜치에도 적용하고 싶을 때.
    • 기능 개선: 새로운 기능을 개발 중인 브랜치에서 특정 변경 사항을 안정적인 릴리즈 브랜치에 적용하고 싶을 때.
  3. 체리픽의 예:
    • Git에서 체리픽: Git에서는 git cherry-pick 명령어를 사용하여
      특정 커밋을 선택하여 현재 브랜치에 적용할 수 있다.
# 예를 들어, 커밋 해시가 abc123인 커밋을 현재 브랜치에 적용하려면
git cherry-pick abc123

4.체리픽의 장단점:

  • 장점:
    • 선택적으로 필요한 변경 사항만 적용할 수 있어, 다른 브랜치의 안정성을 유지할 수 있다.
    • 특정 버그 수정이나 기능을 다른 브랜치에 신속하게 적용할 수 있다.
  • 단점:
    • 커밋 충돌이 발생할 수 있으며, 이를 해결하는 데 시간이 걸릴 수 있다.
    • 선택적인 변경 사항이 전체 프로젝트의 일관성을 해칠 수 있다.

체리픽은 소스 코드 관리에서 유용한 기술이지만, 신중하게 사용해야 하며,
잘못 사용하면 코드베이스의 일관성 문제를 일으킬 수 있다.