본문 바로가기
Git

[Git 깃] git cherry-pick

by 까망 하르방 2022. 5. 8.
반응형

💻 git cherry-pick (특정 commit 들고오기)

git cherry-pick {commit hash1}
git cherry-pick {commit hash2}

 

💻 행 단위로 구분하지 않고 한줄로 작성 가능

git cherry-pick {commit hash1} {commit_hash2} …

 

 

📌 (충돌 시) 해결 방법

• 충돌 해결을 위해 추가(git add) 혹은 삭제(git rm)

• git commit 이나 --continue 옵션으로 다시 진행

git add {path}
git cherry --continue

 

 

📌 (충돌 시) cherry-pick 이전 상태로 되돌리기 (중단)

• --abort 옵션 사용

• cherry-pick을 하기 전 상태로 돌아 갈 수 있다.

git cherry-pick --abort

 

 

📌 cherry-pick 확인

git diff 변경점을 확인할 수 있다.

git log로 commit 내역을 살펴볼 수 있다.

 
 
 
 

git cherry-pick 이란?

• 다른 branch에 있는 특정 commit을

  선택적으로 적용할 때 사용하는 명령어

• 다른 branch에 있는 commit을 옮겨오는 것이 아니라

  현재 작업 브랜치에 해당 변경 내역을 새로운 commit으로 쌓는다.

• merge나 rebase는 다른 브랜치의 전체 commit를 가져오는데

  cherry-pick은 다른 브랜치의 원하는 commit만 가져올 수 있다.

• 체리 한 바구니에서 좋은 체리만 고르는 것에서 유래한 표현

 

📍 [Git 깃] git rebase도 같이 보세요

 

[Git 깃] git rebase

Rebase란? • rebase는 "re" + "base" 로 재배치 하는 것이다. • merge와 비슷한 개념이지만 commit history 결과 차이가 있다. rebase가 commit history 깔끔하게 정리해주는 편이다. • rebase는 commit 이력을 변경할

zoosso.tistory.com

 

 

[예시] cherry-pick 필요한 상황

[상황 1: Bug Fix]

기능 A와 기능 B 를 이용해서 기능 C 개발 중이다.

기능 A에서 문제 요소를 발견하였다.

기능 A를 fix 하였지만 검증까지 시간이 소요될 것 같다.

기능 C 담당자는 고쳐진 버전 A를 우선 cherry-pick 하여 작업해볼 수 있다.

 

[상황 2: Merge 되지 않은 PR]

Pull Request 올린 상태로 여러 사람들의 리뷰를 받아야 한다.

해당 PR을 merge 하고 싶지만

전체 commit을 리뷰 없이 merge하면 문제가 생길 수 있다.

이때, git cherry-pick 으로 필요한 commit만 들고와서 작업할 수 있다.

 

 

 

[까망] Git 목록

본 블로그에 작성된 Git 관련 내용 URL을 정리한 곳입니다. 목록 [Git] "git add -p" 를 활용하는 이유 [Git] .gitignore 설정 [Git] learngitbranching 답안 및 풀이 - 1 [Git] learngitbranching 답안 및 풀이 -..

zoosso.tistory.com

반응형

'Git' 카테고리의 다른 글

[Git 깃] git rebase  (0) 2022.05.17
[Git 깃] git config  (0) 2022.05.11
[Git] UI Application vs Terminal  (0) 2021.04.15
[Git 깃] git show  (0) 2021.04.07
[Git] .gitignore 설정  (0) 2021.04.04

댓글