Git Cherry-pick이란?
Git에서 Cherry-pick은 특정 커밋을 선택하여 현재 브랜치에 적용하는 기능입니다.
즉, 특정 브랜치에서 원하는 커밋만 따로 골라서 적용할 수 있는 유용한 기능입니다.
Cherry-pick 예제
[예제 상황]
- feature/branch에서 몇개의 기능을 개발했고,
- 그중 commit B를 feature/new 브랜치에도 적용하고 싶습니다.
a1b2c3d (HEAD -> feature/branch) Commit C
f4e5d6b Commit B (이거만 feature/new 브랜치에도 적용하고 싶음)
c7d8e9f Commit A
e1f2g3h (feature/new) Previous feature/new commit
Cherry-pick 사용 방법
1. feature/new 브랜치로 이동
git checkout feature/new
2. 체리픽 실행 (특정 커밋 가져오기)
f4e5d6b는 적용하려는 커밋의 해시입니다.
git cherry-pick f4e5d6b
결과로는 commit B인 f4e5d6b만 feature/new 브랜치에 적용됩니다.
여러개의 커밋 Cherry-pick하기
feature/branch에서 commit B와 commit C 두 개를 feature/new에 적용하고 싶다면?
git cherry-pick f4e5d6b a1b2c3d
Cherry-pick 충돌 해결
체리픽 도중 충돌(conflict)이 발생할 수 있습니다.
이 경우 Git이 충돌 파일을 알려주므로, 수정 후 다음을 실행하면 됩니다.
git add .
git cherry-pick --continue
만약 체리픽을 취소하고 싶다면?
git cherry-pick --abort
Cherry-pick을 리베이스처럼 사용하기 (Cherry-pick 범위 지정)
만약 commit A부터 commit C까지 적용하고 싶다면?
git cherry-pick c7d8e9f^..a1b2c3d
^는 commit A의 이전 커밋을 의미합니다.
결과롤는 commit A부터 commit C까지가 feature/new에 추가됩니다.
'3. 개발도구 > 3_1 Git' 카테고리의 다른 글
[Git] CMD로 git에 소스 올리기 (0) | 2020.02.21 |
---|---|
[Git] Github Desktop 사용법 (0) | 2020.02.17 |