본문 바로가기
IT KNOWLEDGE

[Git] Cherry-pick 활용하기

by BTC_젤리요정 2024. 1. 23.

안녕하세요, BTC 블랙아웃입니다!

 

오늘은 Git에서 매우 유용한 기능 중 하나인 cherry-pick에 대해 알아보고, 이를 어떻게 효율적으로 사용할 수 있는지 탐구해 보겠습니다.


1. Cherry-Pick이란?

cherry-pick은 다양한 브랜치 간에 특정 커밋을 선택적으로 복사하는데 사용되는 강력한 도구입니다. 이를 통해 코드의 일부분만 선택적으로 병합할 수 있습니다.

 

2. Cherry-Pick의 사용 사례

버그 수정:

다른 브랜치에서 이미 해결한 버그가 현재 작업 중인 브랜치에도 영향을 미칠 때, 해당 버그 수정 커밋만을 가져오는 데 사용할 수 있습니다.

기능 복사:

하나의 브랜치에서 개발된 특정 기능이 다른 브랜치에서도 필요할 때, 해당 기능에 관한 커밋을 복사하는 데 유용합니다.

 

예를 들어, 팀 내에서 dev, stg, prod라는 브랜치를 사용중이며 각 브랜치의 config나 환경이 다른 상태를 유지해야 하는 상황입니다. 이럴 때 A라는 기능을 개발하여 commit 하고 싶지만, merge를 해버린다면 config가 다 꼬여버리는 상황이 발생할 수 있습니다. 이를 방지하기 위해 사용하는 것이 Cherry-Pick이며 A기능에 대한 commit만을 병합한다고 생각하시면 됩니다.

 

실제로 git을 잘 다루지 못할 때 저는 소스를 일일이 복사 + 붙여넣기로 각 브랜치에 커밋하기도 했었는데 체리픽을 다룰 수 있게 된 지금은 편리하게 잘 사용하고 있습니다.

 

3. Cherry-Pick 사용 방법

git cherry-pick <commit-hash>
  • <commit-hash>: cherry-pick 하고 싶은 커밋의 해시입니다.
  • 커밋 해시는 git log 명령어를 통해 확인할 수 있습니다.

 

예제 사용법:

  1. 원하는 커밋의 해시를 git log로 확인합니다.
  2. git cherry-pick <commit-hash> 명령어를 사용하여 해당 커밋을 현재 브랜치로 가져옵니다.

 

4. 주의 사항

  • 컨플릭트: cherry-pick을 수행할 때 컨플릭트가 발생할 수 있습니다. 이 경우, 수동으로 컨플릭트를 해결하고 커밋을 완료해야 합니다.
  • 커밋 히스토리: cherry-pick은 새로운 커밋을 생성합니다. 이는 원본 브랜치의 커밋 히스토리와 다를 수 있으므로, 히스토리 관리에 주의해야 합니다.

 


5. 결론

cherry-pick은 Git에서 제공하는 강력한 도구로, 코드의 일부분만을 선택적으로 이동하고 싶을 때 큰 도움이 됩니다. 하지만 컨플릭트 해결과 커밋 히스토리 관리에 주의가 필요합니다. 이 기능을 잘 활용하면 더 효율적이고 정확한 소스 코드 관리가 가능해집니다.

 

이상으로 Git Cherry-Pick 활용에 대한 포스팅을 마치겠습니다. 지금까지 BTC 블랙아웃이었습니다. 다음 포스팅에서 뵙겠습니다!

'IT KNOWLEDGE' 카테고리의 다른 글

인터넷 상에 노출된 자격증명 탐지  (0) 2024.05.10
Kubeflow 설치하기  (0) 2024.05.02
멀티 스레딩에 관하여  (0) 2024.01.19
연말 프로젝트 회고  (2) 2023.12.29
RAG에서의 Embedding과 Vector  (1) 2023.12.22

댓글