본문 바로가기
Git

Git cherry-pick 활용하기

by 차가운개발 2024. 9. 23.

git cheery-pick은 다른 브랜치의 특정 커밋을 선택적으로 적용할 때 사용하는 명령어이다. cherry-pick을 직접 사용해보는 경험을 포스팅할 것이다.

 

주의사항

cheery-pick은 새로운 커밋을 생성하므로 커밋이 중복되거나 커밋 내역이 지저분해질 수 있다. 

여러 브랜치사이에서 부분적으로 커밋을 적용하고 싶을 때 사용되지만 가능하면 전체 브랜치를 병합하는 것이 관리면에서는 깔끔할 수 있다.

 

# 특정 커밋을 가져오는 명령어
git cherry-pick 커밋해시

# 범위를 설정하여 커밋을 가져오는 명령어(맨 처음 작성한 커밋해시는 적용되지 않는다. 그 이후의 커밋해시만 적용된다)
git cherry-pick 커밋해시..커밋해시..커밋해시

# 개별적으로 여러 커밋 가져오기
git cherry-pick 커밋해시 커밋해시

# 충돌이 발생했을 경우, 충돌을 해결하고 게속 진행하는 명령어
git cherry-pick --continue

# 작업을 중단하는 명령어
git cherry-pick --abort

 

마스터 브랜치에 최초 '1커밋'을 생성하고 dev 브랜치를 분기한 뒤 마스터 브랜치에 2,3,4,5 커밋 이력을 남겼다.
각 이력마다 text.txt 파일을 하나씩 추가하였다.

 

브랜치 이동 후 cherry-pick을 사용하여 '2 commit' 이력만 적용하였다. text2.txt 파일만 브랜치에 추가되었고, 새로운 커밋이력이 생성된 걸 확인할 수 있다.

 

범위를 지정하여 cherry-pick을 사용했다. 시작 커밋해시는 적용되지 않으므로 text3.txt, text4.txt 파일을 제외한 text5.txt만 추가되었다. 만약 시작 커밋해시도 포함시키고 싶다면, 아래와 ^를 추가하여 사용하면 된다.

# 시작 커밋해시를 포함하여 가져오기
git cherry-pick 7673e6f^..7a589ed

 

'Git' 카테고리의 다른 글

Git 충돌 해결하기  (2) 2024.09.21
Git merge와 rebase의 차이  (1) 2024.09.09
Git 일단 해보기(branch 이동)  (0) 2024.09.09
Git commit에 대해서  (6) 2024.09.06
Git 기초 사용법  (6) 2024.08.30