Git

Cherry-Pick : 특정 커밋 선택적으로 적용하기

코샵 2024. 5. 30. 13:29
반응형

Git 사용자라면 누구나 알아야 할 강력한 기능, 바로 Cherry-Pick입니다! Cherry-Pick은 마치 원하는 체리를 골라서 따는 것처럼, 특정 커밋을 선택적으로 다른 브랜치에 적용하는 기능입니다. 이 강력한 도구를 활용하면, 코드 개발 과정에서 발생하는 다양한 상황을 효율적으로 해결할 수 있습니다.

 

Cherry-Pick란

Cherry-Pick은 Git에서 제공하는 명령어로, 특정 커밋의 변경 사항을 다른 브랜치에 복사하여 적용하는 데 사용됩니다. 마치 다른 브랜치에서 맛있는 체리를 골라서 우리 브랜치의 케이크에 올리는 것과 비슷하다고 생각하면 됩니다.

 

Cherry-Pick을 사용하는 이유는 무엇일까요?

Cherry-Pick을 사용하면 다음과 같은 다양한 상황에서 유용하게 활용할 수 있습니다.

  • 특정 기능을 다른 브랜치에 빠르게 적용하고 싶을 때: 이미 다른 브랜치에서 개발된 기능을 빠르게 적용하고 싶을 때 Cherry-Pick을 사용하면 코드를 직접 복사하거나 병합하지 않고도 간편하게 적용할 수 있습니다.
  • 버그 수정을 특정 브랜치에 적용하고 싶을 때: 특정 브랜치에서 발생한 버그를 빠르게 수정하고 싶을 때 Cherry-Pick을 사용하면 해당 커밋만 선택적으로 적용하여 다른 변경 사항에는 영향을 미치지 않도록 할 수 있습니다.
  • 개발 과정에서 발생한 실수를 되돌리고 싶을 때: 실수로 잘못된 커밋을 작성했을 때 Cherry-Pick을 사용하여 이전 커밋으로 되돌리고 원하는 커밋만 선택적으로 적용할 수 있습니다.
  • 다른 오픈 소스 프로젝트의 코드를 활용하고 싶을 때: 다른 오픈 소스 프로젝트의 유용한 코드를 우리 브랜치에 적용하고 싶을 때 Cherry-Pick을 사용하면 원하는 부분만 선택적으로 적용하여 코드 충돌을 방지할 수 있습니다.

Cherry-Pick 사용 방법

Cherry-Pick을 사용하려면 다음과 같은 명령어를 사용합니다.

git cherry-pick <commit-hash>

여기서 <commit-hash>는 원하는 커밋의 해시 값을 의미합니다.

예를 들어, abc123이라는 해시 값을 가진 커밋을 현재 브랜치에 적용하려면 다음과 같은 명령어를 사용합니다.

git cherry-pick abc123

Cherry-Pick을 사용할 때 다음과 같은 옵션을 함께 사용할 수 있습니다.

  • -m: 적용된 커밋 메시지를 변경합니다.
  • -n: 변경 사항을 스테이징 영역에만 추가하고 커밋하지 않습니다.
  • -v: 적용 과정을 자세하게 출력합니다.

Cherry-Pick 사용 시 주의 사항

Cherry-Pick을 사용할 때 다음과 같은 사항에 주의해야 합니다.

  • Cherry-Pick은 선택된 커밋만 적용하므로, 해당 커밋에 의존하는 다른 커밋들이 함께 적용되지 않을 수 있습니다.
  • Cherry-Pick을 사용하면 코드 충돌이 발생할 수 있습니다. 충돌이 발생하면 직접 해결해야 합니다.
  • Cherry-Pick 사용한 후에는 반드시 git status 명령어를 사용하여 변경 사항을 확인하고 git commit 명령어를 사용하여 커밋해야 합니다.