GIT
[GIT] git cherry-pick이란 ? 여러 브랜치에 커밋하기
B_Tae
2022. 11. 16. 22:27
git cherry-pick은 다른 브랜치 위에 있는 커밋을 현재 브랜치에 적용시킬 때 사용할 수 있다.
main에 있는 커밋 중 D 커밋을 feature 브랜치에서 cherry-pick 하여 반영한 그림이다.
cherry-pick 사용법
- git chery-pick { 커밋 해시 }해당 커밋이 현재 브랜치에 불러와 진다.
git cherry-pick 417ebbd
- git chery-pick { 커밋 해시 } { 커밋 해시 }2개의 커밋이 현재 브랜치에 불러와 진다.
git cherry-pick 415ebbd b4a48fb
- git chery-pick { 커밋 해시 }..{ 커밋 해시 }커밋이 연속적이라면 앞에 커밋부터 뒤에 커밋까지 현재 브랜치에 불러와 진다.
git cherry-pick 415ebbd..b4a48fb
- git chery-pick -m 1 {머지 커밋 해시}merge 한 커밋을 체리픽 하고 싶을 때 사용
git cherry-pick -m 1 052aebc
cherry-pick 충돌 해결방법
[ 1 ] 충돌을 해결하고 진행할 때
cherry-pick도 당연히 충돌이 날 수 있다. 충돌이 날 경우 똑같이 충돌난 부분에 코드를 수정하고,
git cherry-pick --continue
를 통해 체리 픽을 진행하면 된다.
[ 2 ] 중단하고자 할 때
cherry-pick은 merge, pull 충돌과 다르게 해당 코드를 되돌린다 해도 해결되지 않는다.
코드상으로 커밋할 내용이 없더라도 cherry-pick이 남아있다는 메세지가 뜰것이다.
이때는 git cherry-pick --abort
를 통해 체리 픽을 중단해야 이전상태로 돌아간다.