개발2021. 3. 6. 13:17

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 값으로 구별할 수 있는데 , 이를 이용해 해당 부분만 똑 따다가 반영 할 수 있다. 마치 체리만 딱 골라먹는것 처럼.

Posted by 퍼니로거 즐건록

댓글을 달아 주세요

에버노트(Evernote) 노트를 유료 결제하, 나서 기존에 마구잡이로 저장했던 내용들을 한번 정리하고 싶은데. 

 

에버노트내에 탐색기와 노트간 동기화가 안되서 너무 불편하다.

 

중복된 자료들을 정리하고 싶어도 쉽지 않은 이유중에 하나가 아닐까 싶다.

 

그래서 겸사겸사 다른 대체제를 찾아서 적용해보려고 Joplin 이란 걸 찾아서 시도를 해보았는데.

 

문제는 이 App은 Onedrive 로  동기화에서 문제가 발생해서 시작도 제대로 해보지 못하고 접기로 했다.

 

Dropbox를 이용한 동기화는 그럭저럭 된다는것 같기는 한데. Dropbox는 남은 공간이 별로 없는 관계로

 

당분간은 (다른 불편함들은 감수하고) 저장공간이나 동기화는 확실한 에버노트를 써야 할것 같다.  

Posted by 퍼니로거 즐건록

댓글을 달아 주세요