cherry-pick은 commit 단위로 원하는 브랜치에서 가져오는 방식입니다

단, 해당 commit의 파일 목록에 파일이 하나만 있을 경우입니다(만약, n개 파일이 전부 적용할 경우에도 가능하겠네요)

상황 적용 방법 git 용어
commit 단위에서 모든 파일을 그대로 반영하고 싶을 때 cherry-pick cherry-pick
commit 단위에 포함된 일부 파일만 선택적으로 반영하고 싶을 때 cherry-pick으론 안됨
비교 후 수동 반영
공식 용어가 없다
manual patching,
file-level checkout,
partial merge 등

 

이클립스 기준으로 기록합니다

단계 주제 진행 방식
1 프로젝트가 반영할
fix 또는 feature 브랜치 등인지 확인
변경이 필요하면 checkout
2 대상 브랜치의 히스토리 확인  git repositories 뷰 => branchs > local => 대상 브랜치에 우클릭 => show in > hisotry 선택
3 반영할 commit의 목록 확인 1 git history 뷰에서 commit 목록 확인 선택
2 git history 뷰의 아래 창에 반영할 파일 확인(1개인지 n개인지)
   단, n개의 파일 전체를 반영할 필요가 없는 경우는 cherry-pick이 아닌 비교 후 수동 반영 방식으로 진행해야만 한다
4 cherry-pick 진행 1 git history 뷰에서 반영할 commit에 우클릭 => cherry-pick 클릭
2 도출된 cherry-pick commit 창의 내용을 확인 후 cherry-pick 버튼 클릭
* 충돌이 발생하지 않으면 자동으로 현재 브랜치에 반영이 됨
5 push 진행 방법 1
git staging 뷰에서 push => 이것은 이클립스 2021-03 이상 버전부터 해당 사항임(전 그 이하 버전이라서 push 버튼은 없고, 다만 브랜치 명 뒤에 윗쪽 화살표는 보이는데, 어쩌라는 건지...)
방법 2
git repositories 뷰에 remotes > origin > 브랜치에 우클릭 후 push to upstream 메뉴인데, 이거 또한 버전이 낮아서 다음의 방식으로 진행해야 한다
이클립스 하위 호환 방법 + git repositories 뷰에 remotes > origin > 원격 url에 .git 중 위쪽 화살표가 표시된 영역에 우클릭 후 push 메뉴 클릭
(git repositories 뷰에 branches > remote tracking > origin/브랜치는 지양한다. 자세한 내용은 차후에...)

저는 방법 2번을 선택하였고, 이후
도출된 push results: 프로젝트 - origin 창에 내용을 확인 후 close 버튼 클릭
방법 3
프로젝트에 우클릭 후 team > push to upstream 메뉴 클릭

 

 

 

 

 

Posted by 테리
: