Menu
Coddy logo textTech

Git Cherry-pick

마지막 업데이트

git cherry-pick은 하나 이상의 특정 커밋의 변경 사항을 복사하여 현재 브랜치에 새 커밋으로 적용합니다. 전체 브랜치를 병합하지 않고도 다른 브랜치에서 하나의 수정만 가져오는 방법으로, 핫픽스를 백포트하거나 기능 브랜치에서 커밋 하나를 빼내는 데 유용합니다.

터미널 플레이그라운드에서 이것들을 사용해 보세요. 브라우저 안의 진짜 셸이며, 설치할 것은 아무것도 없습니다.

문법

CommandWhat it does
git cherry-pick <hash>현재 브랜치에 커밋 하나를 적용합니다
git cherry-pick <a> <b>여러 커밋을 순서대로 적용합니다
git cherry-pick <a>..<b>커밋 범위를 적용합니다 (a 제외)
git cherry-pick -n <hash>변경 사항을 적용하지만 아직 커밋하지 않습니다
git cherry-pick -x <hash>원본 커밋을 메시지에 기록합니다

cherry-pick 진행 중

cherry-pick에서 충돌이 발생하면 해결한 다음 계속하세요.

CommandWhat it does
git cherry-pick --continue충돌을 해결한 후 재개합니다
git cherry-pick --abort취소하고 브랜치를 복원합니다
git cherry-pick --skip현재 커밋을 건너뜁니다

Git cherry-pick 자주 묻는 질문

git cherry-pick은 무엇을 하나요?
특정 커밋이 도입한 변경 사항을 가져와 현재 브랜치에 (새로운 hash를 가진) 완전히 새로운 커밋으로 적용합니다. merge나 rebase와 달리 브랜치 전체를 가져오지 않고, 지정한 커밋 또는 커밋들만 가져옵니다.
cherry-pick은 언제 사용해야 하나요?
특정 커밋이 다른 곳에 필요할 때 사용하세요. 예를 들어 버그 수정을 main에서 release 브랜치로 백포트하거나, 모든 것을 병합하지 않고 기능 브랜치에서 유용한 커밋 하나만 빼낼 때입니다. 브랜치 전체가 필요하다면 대신 merge나 rebase를 사용하세요.
여러 커밋을 cherry-pick하려면 어떻게 하나요?
나열하세요: git cherry-pick <a> <b> <c>는 각각을 순서대로 적용합니다. 연속된 범위에는 git cherry-pick <start>..<end>를 사용하는데, 이는 start 이후부터 end까지(포함) 모든 커밋을 적용합니다. start 자체도 포함하려면 <start>^..<end>를 추가하세요.
cherry-pick이 충돌을 일으키면 어떻게 하나요?
Git이 일시 중지하고 충돌한 파일을 표시합니다. 이를 해결하고 결과를 git add한 다음 git cherry-pick --continue를 실행하세요. 완전히 되돌리려면 git cherry-pick --abort를 사용하는데, 이는 브랜치를 cherry-pick이 시작되기 전 상태로 복원합니다.
이것을 온라인에서 연습할 수 있나요?
네. 터미널 플레이그라운드를 열어 브라우저 안의 진짜 셸에서 git cherry-pick을 실행하세요. 설치할 것은 아무것도 없습니다. Coddy의 무료 인터랙티브 Git 강좌에서도 브랜치 간에 커밋을 옮기는 방법을 단계별로 다룹니다.
Coddy programming languages illustration

Coddy로 Git 배우기

시작하기