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를 통해 체리 픽을 중단해야 이전상태로 돌아간다.