상세 컨텐츠

본문 제목

[Git] Cherry-pick

Operating System (OS) & Network & VCS/Git

by 찌니씨 2022. 10. 11. 14:59

본문

git

 

Cherrypick

 

✔ branch에서 특정 commit만 가져와서 merge 해줌

 

$ git checkout feature/jini-v0.1 // 커밋을 가져올 브랜치 (feature/jini-v0.1)로 이동
$ git commit -am "commit massage" // 커밋
$ git log --pretty=oneline // 원격 로그 출력
9d5dbd85b6def2940b03ce800f6940ee2343d2c9 (HEAD -> feature/jini-v0.1, origin/feature/jini-v0.1) test
f8d1df592530a06742c9c29ff37ac5e8143f8278 test
870e84046998bd725ee87383e5c040770139e644 test
18c11600de3469a75ce53e201efe14f7de270737 test
8f09e2af41944c673fbbaebd5f50ce2e1d28b41d test
8a11ecca7a7d1e8fd759ed56f865029d2c702f9b Initial commit

//위의 로그 중 cherry-pick 할 commit 의 hash code 선택

$ git checkout release/release-0.1 // 작업할 브랜치(release/release-0.1 branch)로 체크아웃
$ git cherry-pick 8f09e2af41944c673fbbaebd5f50ce2e1d28b41d
$ git log --pretty=oneline // 원격 로그 출력

$ git log --oneline --graph //원격 로그 그래프로 보여줌

 

✔ 어떻게 쓰느냐에 따라 n개의 hash code를 가져올 수 있다

$ git cherry-pick A // A  cherry-pick
$ git cherry-pick A B // A 와 B cherry-pick
$ git cherry-pick A..C // A에서 C 까지

$ git log --merges // 머지 로그 확인
$ git cherry-pick -m 1 A // A cherry-pick

 

✔ conflict (충돌) 이 일어 났을 때

 

$ git cherry-pick --continue // cherry-pick 계속
$ git cherry-pick --abort //cherry-pick 이전 상태로

 

 

merge cherry-pick ,
cherry-pick conflict 해결 추후 추가

'Operating System (OS) & Network & VCS > Git' 카테고리의 다른 글

[Git] mergetool  (0) 2022.10.12
[Git] Commit tamplate file  (0) 2022.10.12
[Git] Merge 되돌리기  (0) 2022.10.11
[Git] Flow 수정, 초기화  (0) 2022.10.07
[Git] Branch 전략 (Git Flow)  (0) 2022.10.07

관련글 더보기

댓글 영역