본문 바로가기
프로그래밍/Git

Git의 Cherry-pick에 대한 이해

by 엔지니어 청년 2024. 1. 29.

Git이란?

Git은 소스 코드 관리 시스템(SCM, Source Control Management) 중 하나로, 다수의 개발자가 협업을 할 때 코드의 버전을 관리해 주는 도구입니다. 즉, 여러 사람이 동시에 같은 파일을 수정하더라도 각각의 변경 사항을 추적하고 합칠 수 있게 해주며, 필요한 경우 이전 버전으로 되돌릴 수도 있습니다.

Cherry-pick 이란?

Git에서 cherry-pick은 특정 커밋을 선택해서 현재 브랜치에 적용하는 명령어입니다. 즉, 다른 브랜치의 특정 커밋만을 골라 현재 작업중인 브랜치에 적용하고 싶을 때 사용하는 기능입니다.

Cherry-pick 사용 예제

다음은 cherry-pick 명령어의 사용 예제입니다.

우선, Git 저장소를 생성하고 파일을 만들어 몇 번 커밋을 해 보겠습니다.

$ git init
$ echo "첫 번째 커밋" > file.txt
$ git add file.txt
$ git commit -m "첫 번째 커밋"
$ echo "두 번째 커밋" >> file.txt
$ git commit -am "두 번째 커밋"
$ echo "세 번째 커밋" >> file.txt
$ git commit -am "세 번째 커밋"

이제 git log를 사용해 커밋 목록을 확인합니다.

$ git log
commit 345e73aede1f4bae2cb78878d798aefd72f591f4 (HEAD -> master)
Author: Your Name <your.email@example.com>
Date:   Wed Sep 22 14:41:35 2021 -0700

    세 번째 커밋

commit 9c906e1919f704bb40de36f6b2ae4b5ee83e2704
Author: Your Name <your.email@example.com>
Date:   Wed Sep 22 14:41:13 2021 -0700

    두 번째 커밋

commit 890ce39a8dd4e6d78a2a52ed50545a94d34a5d64
Author: Your Name <your.email.email@example.com>
Date:   Wed Sep 22 14:40:47 2021 -0700

    첫 번째 커밋

위에서 보이는 각각의 commit 앞에 있는 긴 알파벳과 숫자 조합이 commit의 고유한 해시 값입니다.

새로운 브랜치를 만들고, 거기에 "첫 번째 커밋"만 적용해 보겠습니다. 먼저 브랜치를 만듭니다.

$ git checkout -b new_branch

그리고 첫 번째 커밋의 해시 값을 이용해 cherry-pick을 실행합니다.

$ git cherry-pick 890ce39a8dd4e6d78a2a52ed50545a94d34a5d64

이제 새로운 브랜치 new_branch에서는 "첫 번째 커밋"만 적용된 상태입니다.

이처럼 Git의 cherry-pick 기능은 다른 브랜치의 커밋 중 원하는 것만을 선

'프로그래밍 > Git' 카테고리의 다른 글

Git 사용법 총 정리  (0) 2024.01.31