git cherry-pick: 다른 브랜치의 일부 커밋만 반영하고 싶을 때
Less than 1 minute
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상의 오타가 발견되었어요. 이런 경우 master
와 next-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 위에서 작업하는 방식으로 진행하는 경우에 유용하죠.