Skip to main content

git cherry-pick: 다른 브랜치의 일부 커밋만 반영하고 싶을 때

Less than 1 minuteGitArticle(s)blogmeetup.nhncloud.comgitgit-cherry-pick

git cherry-pick: 다른 브랜치의 일부 커밋만 반영하고 싶을 때 관련

Git > Article(s)

Article(s)

git cherry-pick: 다른 브랜치의 일부 커밋만 반영하고 싶을 때 | NHN Cloud Meetup
git cherry-pick: 다른 브랜치의 일부 커밋만 반영하고 싶을 때

보통 프로젝트를 진행할때는 master 브랜치만 릴리즈 하면서 운영을 하게 되는데요, 가끔 중규모/대규모 개편을 하게 되면 브랜치 두개를 동시에 관리를 해야 하는 애로사항이 있습니다.

git branch
#
# master
# next-release

이렇게 두개의 브랜치가 있습니다. master는 지금 운영중인 브랜치고, next-release는 다음 대규모 개편때 반영될 코드죠. 근데 갑자기 (예를들어)UI상의 오타가 발견되었어요. 이런 경우 masternext-release에 모두 반영되어야 하죠.

git checkout master
git commit -am "fixed: typo"
git log --pretty=oneline
#
# b14b975 fixed: typo
# 9f57292 ....
# ....

이렇게 master 에 반영이 되었습니다. 이 내용을 next-release에 반영하려면 다음과 같이 하면 됩니다

git checkout next-release
git cherry-pick b14b975
git log --pretty=oneline
# 
# 23fa1e76 fixed: typo
# dd0f27c ...
# ...

참고

git flow, 즉 feature/BTS-### 같은 브랜치를 따서 merge 하는 방식으로 운영하는 경우, 굳이 cherry-pick을 이용할 필요까지는 없습니다. single master branch 위에서 작업하는 방식으로 진행하는 경우에 유용하죠.


이찬희 (MarkiiimarK)
Never Stop Learning.