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 |