Day 58 · 4/5
🌿 중급 개발도구

Cherry-pick이 뭔가요?

쉽게 이해하기

과일 바구니에서 먹고 싶은 체리만 골라 담는 것처럼, 여러 커밋 중에서 필요한 것만 선택해서 가져오는 거예요. 전체 브랜치를 merge하지 않고 특정 변경사항만 가져올 수 있습니다.

핵심 정리

Git에서 특정 커밋 하나만 골라서 다른 브랜치에 적용하는 기능입니다.

자세히 알아보기

cherry-pick은 다른 브랜치에 있는 특정 커밋을 현재 브랜치로 복사해오는 Git 명령어입니다. merge나 rebase는 브랜치 전체를 합치지만, cherry-pick은 딱 원하는 커밋 하나만 가져올 수 있어요. `git cherry-pick <커밋해시>`를 실행하면 해당 커밋의 변경사항이 현재 브랜치에 새로운 커밋으로 적용됩니다. 예를 들어 develop 브랜치에서 버그를 고쳤는데 그 수정사항만 급하게 main에 반영해야 한다면, main 브랜치로 가서 해당 커밋을 cherry-pick하면 돼요. 여러 개의 커밋을 한 번에 cherry-pick할 수도 있고, 범위를 지정해서 연속된 커밋들을 가져올 수도 있습니다. 하지만 cherry-pick은 히스토리를 복잡하게 만들 수 있어서 신중하게 사용해야 해요. 같은 변경사항이 서로 다른 커밋 해시로 여러 브랜치에 존재하게 되니까요. 실무에서는 hotfix를 여러 버전 브랜치에 동시에 적용할 때, 또는 실험적인 기능 브랜치에서 특정 부분만 가져와야 할 때 사용합니다. 전체를 merge하기에는 부담스럽지만 특정 수정사항은 필요한 상황에서 유용해요.