git-cherry-pick - Apply the changes introduced by some existing commits

 

기존에 삽입된 commit 들중 특정 변경사항만 적용하기 

(기존에 commit 들 에서  특정 commit의 수정내용만 반영하기)

 

git 의 Merge 가 branch 를 만들고 변경된 내용 모두를(그사이에 여러 commit이 있더라도)  가져와서 합치게 된다. 

그로인해 선택적 merge가 어려운데 , 특정 commit에서 발생한 변경만 가져다가 현재 브랜치에 반영하고 싶은경우 cherry-pick을 사용하면된다. 그러면 해당 commit에 내용만 현재 브랜치에 가져와서 commit 하게 되는데. 

 

만일 현재 브랜치에 commit 은 안하고 코드 변경만 하고 싶다면   -n 파라메터를 쓰면 된다. 

 

git cherry-pick -n <SHA>

 

그러면 해당 변경분은 반영이 되고 staged 상태로 되지만 commit되지는 않은 상태라 다른 추가적인 변경이후에 commit할 수 있게 된다.

 

 

위에 실 사용예시.

 

여러 브랜치 개발을 진행하는 과정에서, 특정 브랜치로부터 최근에 수정된 부분만 혹은 특정한 과거의 수정부분들은 commit SHA 값으로 구별할 수 있는데 , 이를 이용해 해당 부분만 똑 따다가 반영 할 수 있다. 마치 체리만 딱 골라먹는것 처럼.

+ Recent posts