💻 git cherry-pick (특정 commit 들고오기)
git cherry-pick {commit hash2}
💻 행 단위로 구분하지 않고 한줄로 작성 가능
📌 (충돌 시) 해결 방법
• 충돌 해결을 위해 추가(git add) 혹은 삭제(git rm)
• git commit 이나 --continue 옵션으로 다시 진행
git cherry --continue
📌 (충돌 시) cherry-pick 이전 상태로 되돌리기 (중단)
• --abort 옵션 사용
• cherry-pick을 하기 전 상태로 돌아 갈 수 있다.
📌 cherry-pick 확인
git diff 변경점을 확인할 수 있다.
git log로 commit 내역을 살펴볼 수 있다.
[Git 깃] git log
git log - Commit History를 볼 수 있는 명령어이다. - 본인이 Commit 했던 것이나 git clone 혹은 git pull 해서 받은 저장소의 기록까지 확인할 수 있다. commit 이력 조회 git log - 가장 최근 커밋이 상단에 위치
zoosso.tistory.com
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 |
댓글