Home
Git
Git Cherry Pick (깃에서 특정 커밋만 가져오기)
devfoxstar
devfoxstar
October 30, 2022
1 min

프로젝트를 진행하다 보면 특정 브랜치의 특정 커밋만을 적용해야 할 때가 있습니다.
이때 유용하게 사용할 수 있는 기능이 바로 Cherry PIck입니다.

cherry-pick은 커밋 해쉬값을 적용해 주면 바로 반영이 됩니다.
사용하는 방법은 몇 가지가 있습니다.

git cherry-pick <commit_hash>

먼저, 하나씩 커밋을 적용하는 방법입니다.

git cherry-pick 1a2b3c4d

다음으로는 여러 개의 커밋을 적용하는 방법입니다.

git cherry-pick 1a2b3c4d 5e6f7g8h

그리고 ..으로 범위를 지정하면 시작 커밋과 종료 커밋 사이의 모든 커밋을 반영할 수 있습니다.

git cherry-pick 1a2b3c4d..5e6f7g8h

또한 cherry-pick에는 추가 옵션이 있습니다.
코드 충돌이 발생했을 때 이후 진행 여부를 결정하는 옵션입니다.

abortcherry-pick을 중단하는 옵션입니다.
abort를 실행하면, cherry-pick 이전 상태로 돌아갑니다.

git cherry-pick-abort

코드 충돌을 해결하고 계속 cherry-pick을 실행하려면 continue 옵션을 주면 됩니다.
그러면 cherry-pick 기능이 계속 진행됩니다.

git cherry-pick -continue

cherry-pick이 완료되면 해당 소스를 푸시하면 됩니다.
IntelliJ에서는 Push All up to Here 액션으로 간단하게 푸시가 가능합니다.

참고로 rebase도 원하는 커밋을 선택적으로 반영할 수 있습니다.
하지만 rebase는 현재 브랜치에서만 가능한 명령어입니다.

그리고 정석대로 소스를 관리하자면 merge를 우선 고려하는게 좋습니다.
이후에 상황에 따라 rebasecherry-pick을 적절하게 활용합니다.


Tags

#Git#CherryPick#cherry-pick

Related Posts

unable to create file <Filepath> Filename too long (윈도우 Git Clone 오류)
June 05, 2022
1 min
© 2024, All Rights Reserved.

Quick Links

About Me

Media